0% found this document useful (0 votes)
140 views84 pages

EtherInspect 11 Documentation

This document provides an overview of the user interface and functionality of the Ether-Inspect 11 software. It describes the main areas of the user interface, including areas for selecting cameras, configuration and settings, logs and information, communications, image saving options, inspection settings, and file options. It then goes on to provide details on the displays, tools, and functionality available within the inspection settings area, including tools for patterns, measurements, image filtering, codes, and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views84 pages

EtherInspect 11 Documentation

This document provides an overview of the user interface and functionality of the Ether-Inspect 11 software. It describes the main areas of the user interface, including areas for selecting cameras, configuration and settings, logs and information, communications, image saving options, inspection settings, and file options. It then goes on to provide details on the displays, tools, and functionality available within the inspection settings area, including tools for patterns, measurements, image filtering, codes, and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 84

Ether-Inspect 11

Documentation
Contents
1 Document History ........................................................................................................................................................... 6
2 System Requirements ..................................................................................................................................................... 7
3 Supported Devices .......................................................................................................................................................... 7
4 Installation ...................................................................................................................................................................... 7
5 File Locations................................................................................................................................................................... 7
6 Background Tasks............................................................................................................................................................ 7
7 Logic Flow........................................................................................................................................................................ 8
8 User Interface Area Overview ......................................................................................................................................... 9
9 SELECT CAMERA AREA .................................................................................................................................................. 10
9.1 Camera Replacement Display ............................................................................................................................... 10
10 SETUP / CONFIGURATION AREA ................................................................................................................................ 11
10.1 User Settings Display............................................................................................................................................. 12
10.1.1 Common settings .......................................................................................................................................... 12
10.1.2 Instance level settings ................................................................................................................................... 13
10.1.3 Camera setting .............................................................................................................................................. 13
10.1.4 Job Verification Testing / Application Tags ................................................................................................... 14
10.2 Versions Display .................................................................................................................................................... 17
10.3 Cycle Counts Display ............................................................................................................................................. 17
11 INFORMATION LOG AREA .......................................................................................................................................... 18
11.1 Log Viewer Display ................................................................................................................................................ 18
12 COMMUNICATIONS AREA ......................................................................................................................................... 19
12.1 Tag States Display ................................................................................................................................................. 19
12.2 Setup Tags Display ................................................................................................................................................ 20
12.3 Tag Help Display .................................................................................................................................................... 20
12.4 Edit PLCs Display ................................................................................................................................................... 21
12.4.1 Allen-Bradley Specific Notes ......................................................................................................................... 21
12.4.2 Siemens Specific Notes ................................................................................................................................. 22
12.4.3 Beckhoff Specific Notes................................................................................................................................. 22
13 IMAGE SAVE OPTIONS AREA...................................................................................................................................... 23
13.1 Image Playback Options Display ........................................................................................................................... 23
14 FILE OPTIONS AREA ................................................................................................................................................... 24
15 INSPECTION SETTINGS AREA ..................................................................................................................................... 25
15.1 Category Visibility Display ..................................................................................................................................... 26
15.2 Changing the Number of Tools ............................................................................................................................. 26
15.3 Edit ToolBlock Display ........................................................................................................................................... 27

Page 2
15.4 Calibrate – Checkerboard calibration ................................................................................................................... 27
15.5 Calibrate – External Calibration (sharing between jobs) ...................................................................................... 28
15.6 Calibrate – HandEye2D Calibration ....................................................................................................................... 28
15.7 Image Filtering Display .......................................................................................................................................... 30
15.8 Image Conversion Display ..................................................................................................................................... 30
15.9 Fixturing Display .................................................................................................................................................... 31
15.10 Pattern Tool Display .......................................................................................................................................... 32
15.11 Histogram Tool Display ..................................................................................................................................... 33
15.12 Blob Tool Display ............................................................................................................................................... 33
15.13 Measure Tool Display (Calipers)........................................................................................................................ 34
15.14 Find Line Tool Display........................................................................................................................................ 35
15.15 Find Circle Tool Display ..................................................................................................................................... 36
15.16 Codes Display (1D and 2D codes) ...................................................................................................................... 37
15.17 Color Segmenter Display ................................................................................................................................... 38
15.18 2D Geometry ..................................................................................................................................................... 39
15.19 Cross Section ..................................................................................................................................................... 40
15.20 2 Point Fixturing ................................................................................................................................................ 40
15.21 Image Masking .................................................................................................................................................. 40
15.22 Beads ................................................................................................................................................................. 41
15.23 VIDI Pre Processing ........................................................................................................................................... 42
15.24 VIDI Post Processing .......................................................................................................................................... 43
15.25 Custom ToolBlock.............................................................................................................................................. 44
15.25.1 Custom ToolBlock UI Controls................................................................................................................... 45
15.26 Scripting Functionality (C#) ............................................................................................................................... 51
15.26.1 Scripting Tool Display ................................................................................................................................ 51
15.26.2 Script Editor Display .................................................................................................................................. 51
15.27 Script UI Controls .............................................................................................................................................. 62
16 CAMERA SETTINGS AREA ........................................................................................................................................... 63
16.1 Acquisition Attempts Display ................................................................................................................................ 64
16.1.1 Multiple Attempts ......................................................................................................................................... 64
16.1.2 Multiple Sensors (Hybrid Cameras) .............................................................................................................. 64
16.1.3 Multiple Images ............................................................................................................................................ 64
16.1.4 Multiple Exposures (HDR) ............................................................................................................................. 64
16.1.5 Tone Mapping ............................................................................................................................................... 64
16.2 Image Settings Display .......................................................................................................................................... 65
Page 3
17 TRIGGER OPTIONS AREA............................................................................................................................................ 66
18 RESULTS AREA ........................................................................................................................................................... 67
19 IMAGE AREA .............................................................................................................................................................. 67
20 Ether-Inspect Remote Interfaces .............................................................................................................................. 68
20.1 HandEye2D PLC Control Interface......................................................................................................................... 68
20.2 TCP Remote Interface ........................................................................................................................................... 70
20.2.1 Cameras ........................................................................................................................................................ 70
20.2.2 Trigger ........................................................................................................................................................... 70
20.2.3 ShowMultiCam – Camera view can be changed to multi cam using this command ................................... 70
20.2.4 ShowSingleCam - Camera view can be changed to single cam using this command .................................. 70
20.2.5 AppName – Get the application name ......................................................................................................... 71
20.2.6 AppVersion – Get the application version .................................................................................................... 71
20.2.7 InstanceNumber – Get the application instance number ............................................................................ 71
20.2.8 CameraType – Get camera type by camera name ....................................................................................... 71
20.2.9 LoadJob – Load job by number ..................................................................................................................... 71
20.2.10 JobName – Get current job name as string .............................................................................................. 72
20.2.11 JobNumber – Get current job number ..................................................................................................... 72
20.2.12 GoLive – Put camera into live mode ......................................................................................................... 72
20.2.13 GoAuto – Put camera into auto mode...................................................................................................... 72
20.2.14 GoManual – Put camera into manual mode ............................................................................................ 72
20.2.15 State – Get current state or camera ......................................................................................................... 73
20.2.16 Mode – Get current trigger mode ............................................................................................................ 73
20.2.17 InputTags – This will return list of input tags configured for camera....................................................... 73
20.2.18 OutputTags – This will return list of output tags configured for camera ................................................. 73
20.2.19 InputTagType – Get data type of input tag .............................................................................................. 73
20.2.20 OutputTagType – Get data type of output tag ......................................................................................... 74
20.2.21 ReadInputTag – Read value of input tag .................................................................................................. 74
20.2.22 ReadOutputTag – Read value of output tag ............................................................................................. 74
20.2.23 WriteTag – Write value to output tag ...................................................................................................... 74
20.2.24 Exposure – Set or get camera exposure value.......................................................................................... 75
20.2.25 Contrast – Set or get camera contrast value ............................................................................................ 75
20.2.26 Brightness – Set or get camera brightness value ..................................................................................... 75
20.2.27 MaxExposure – Get maximum exposure count ....................................................................................... 76
20.2.28 EnableMultiExposure – Enable or disable multi exposure....................................................................... 76
20.2.29 StartC – Start HandEye2D calibration ....................................................................................................... 76
20.2.30 Cal – Register HandEye2D calibration point ............................................................................................. 76

Page 4
20.2.31 EndC – End HandEye2D calibration and compute result .......................................................................... 77
20.3 RESTful Web Service ............................................................................................................................................. 78
20.4 Image Web Server ................................................................................................................................................. 82
20.5 VisionLine Interface............................................................................................................................................... 83
20.5.1 Setting up VisionLine jobs ............................................................................................................................. 83
20.5.2 XML Example ................................................................................................................................................. 83
20.5.3 XML Element Descriptions ............................................................................................................................ 83
20.5.4 IPSTART – Start a new image processing cycle. ............................................................................................ 84
20.5.5 IPSTATEREQ – Inquire state of the image processing. ................................................................................. 84
20.5.6 PFORDY – Programmable focusing optics (PFO) in position. ....................................................................... 84

Page 5
1 Document History
Date Changes
2022-04-28 Added Acquisition Attempts section
2021-08-19 Added Job Verification & Application Tags section
2021-07-19 Added Script UI Controls section
Added section numbering
Added HandEye2D TCP Interface description
2021-07-12 Added HandEye2D Tool information
2021-02-22 Initial Release

Page 6
2 System Requirements
• Windows 10 64 Bit
• VisionPro 9.5 SR2 or VisionPro 9.6 SR2
• ViDi Suite 4.1
• .NET Framework 4.7.2
• Cognex License Dongle

3 Supported Devices
• Cognex CIC GigE Cameras
• Cognex 3D-A5000 Area Scan Sensors
• Cognex DS1000 Laser Line Sensors
• GigE cameras that are Gen-I-Cam compliant
• CameraLink linescan cameras using BitFlow framegrabber
• Photoneo PhoXi Sensors
• Up to 12 sensors are supported per PC (with standard license dongle)
• Up to 64 camera connections per Ether-Inspect instance
• PLCs such as Allen-Bradley ControlLogix, Siemens S7, Bechoff TwinCAT, and Modbus compatibles

4 Installation
• Run EtherInspect.Setup.11.X.Y-Z.exe
• Run Ether-Inspect Configuration tool from desktop to configure network interfaces and cameras

5 File Locations
• The CameraSettings folder is located at C:\ProgramData\Cognex\Ether-Inspect\CameraSettings
• The Logs folder is located at C:\ProgramData\Cognex\Ether-Inspect\EILogs

6 Background Tasks
• Every minute
o If running on development dongle, close application before dongle times out
o If in engineer mode and idle, update idle time
o If in engineer mode and idle time is 1 minute less than setting, show warning
o If in engineer mode and idle time expired, switch to operator mode.
• Every hour
o Run disk cleanup routine
o Delete oldest day of results in a job folder
o Repeat until disk space remaining is above threshold (default 20%, min 10%)
o Cleanup log files older than 90 days

Page 7
7 Logic Flow
Each camera in Ether-Inspect 11 is always in one of 6 states (only 5 are used in auto mode) The following diagram shows
the transitions between states.

1st Cycle or Load Job if


Trigger == Low requested
Startup

Trigger == High &&


Wait for job (Clear !Defined
to be loaded Ready ||Clear == Low)
Clearing

Clear !Defined
||Clear == High Acquiring

Results
Acquire Images, Set
Processing
ExposureComplete

Execute Job, Set GlobalPass/GlobalFail,


Set ResultsReady

This timing chart shows a typical cycle with Ether-Inspect 11. Note that PLCClear is only valid when ResultsReady is on,
and should be dropped when ResultsReady is low. PLCTrigger is only valid when TriggerReady is on and should be
dropped when TriggerReady is low.

Page 8
8 User Interface Area Overview

Ether-Inspect is divided into 11 main areas, counter-clockwise from top-left

Clicking these sections will jump to that section of the document:

9 SELECT CAMERA AREA

10 SETUP / CONFIGURATION AREA

11 INFORMATION LOG AREA

12 COMMUNICATIONS AREA

13 IMAGE SAVE OPTIONS AREA

14 FILE OPTIONS AREA

15 INSPECTION SETTINGS AREA

16 CAMERA SETTINGS AREA

17 TRIGGER OPTIONS AREA

18 RESULTS AREA

19 IMAGE AREA

Page 9
9 SELECT CAMERA AREA
Scrollable panel to let user choose a camera.

Clicking a camera will make it display to the right.

Right-clicking on a camera will allow creating or deleting a virtual camera or simulator as well as renaming a camera.

Clicking “MULTI CAM VIEW” will display a page of cameras instead of one camera. Click again to change to the next
page if configured.

9.1 Camera Replacement Display


Allows swapping a camera with one of a different serial number, accessed from the right-click menu on a camera button.

Page 10
10 SETUP / CONFIGURATION AREA
Block in lower left shows user level, allows selecting template and accessing settings and global commands.

Clicking a template name in the list under “SELECT TEMPLATE” will change the current camera to that template

Clicking “SETUP / CONFIGURATION” will open the User Settings Display

Clicking the Ether-Inspect logo will display version information

Clicking “GLOBAL COMMANDS” will display the global command menu

Page 11
10.1 User Settings Display
Allows user to edit application settings, including camera and job specific settings

10.1.1 Common settings

Engineer Startup - By default Ether-Inspect will start with Engineer mode but you can change the mode to start with
Operator mode.

Idle timeout – Engineer mode will auto logout after give timeout. If set to 0, the timeout will be disabled.

Storage Directory – Configure the path where data will be stored. The default path is D:\Data

HMI Image Directory – Configure the path where HMI images will be stored. The default path is D:\Data

Save HMI Image as JPG – The default HMI image format is PNG, set this option to save it as JPG.

Disk Space Remaining Target – Percentage of disk space to keep available on the image storage disks.

EI Instances – It will be read-only, use Ether-Inspect config utility to change.

Parallel Job Loading – Use this option to load startup job in parallel.

Rerun Job on Tool image changed – Controls whether the job will be re-run when the input image is changed.

Keep Coordinate Tooltip Visible – On double click on Camera display, the coordinate will be shown on the screen. On
mouse move, the coordinate will be hidden. This behavior can be changed with this option, if checked, the coordinate
tooltip will stay on screen until click outside of display.

Password change – Default old password for Engineer account is “password”, default old password for Integrator
account is “integrator”, you have an option to set the new password for Engineer/Integrator account.

Page 12
10.1.2 Instance level settings

Heartbeat Period - Period of heartbeat in milliseconds, we recommend 30,000 ms (30 seconds).

HMI Size – Configure the width of HMI image in pixels, height will be automatically calculated based on the image’s
aspect ratio.

Show log on Multi-Cam view – The information log will be shown when Multi-Cam view is on.

Multi-Cam at Startup – If turn on, multi-cam view will be set on application startup.

MQTT Broker address – IP address of MQTT broker, leave it blank if unused.

MQTT Username – Username to connect to MQTT broker, leave it blank for no authentication.

MQTT Password – Password to connect to MQTT broker, leave it blank if unused.

10.1.3 Camera setting

MultiCam Page # - Page number on which this camera will be shown when MultiCam view is on. The pages can be
between 1 to 4, set 0 will hide this camera from MultiCam view.

Keep clicking on “MULTICAM VIEW >> F1” to navigate through multiple pages.

MultiCam Sort order – Configure the order of this camera on MultiCam page, Order number can be between 1 to 20.
Page 13
Overview X – This configuration is being used in Ether-Inspect viewer application, a fault animated circle will be shown at
this coordinate on Overview image.

Overview Y – This configuration is being used in Ether-Inspect viewer application, a fault animated circle will be shown at
this coordinate on Overview image.

Overview Radius – This configuration is being used in Ether-Inspect viewer application, a fault animated circle will be
animated up to configured radius.

Database Type – Configure which database to send inspection data. Based on selected type, more configuration will
appear.

Ext Trigger Timeout – Timeout to wait for external trigger in seconds.

Acquisition Buffer Size – Values greater than 1 allow acquiring a new image while the first is processing.

10.1.4 Job Verification Testing / Application Tags

Page 14
Ei11 has the capability to automatically test production jobs against known Pass/Fail images. Multiple jobs can be tested,
and each batch can be tested via PLC trigger and basic results will be returned. The configuration for this can be found in
the SETUP/CONFIGURATION menu.

Add as many checks as desired. Select the camera name and Job index number. Note the if jobs are revised it will always
use the most recent for the index number selected. -1 in a field indicates it has not run a verification check yet.

Verification images are stored in

C:\ProgramData\Cognex\Ether-Inspect\CameraSettings\<CameraName>\<JobNumber>_Verify_<Pass or Fail>

You can copy images into this directory or easily save images to the verification batch by right-clicking on Save Result
and choosing Save Verification image

Verification tests can be executed manually by clicking the Run Batch button.

The PLC can initiate the execution and receive results of Verification tests. Use the Application Tags in the
SETUP/CONFIGURATION menu as below.

Page 15
Verification Start (Input Boolean) will start the verification when the tag goes high.

When Ether Inspect receives the Verification start, it will output VerificationAck (Output Boolean). This should be used
by the PLC to turn off VerificationStart

VerificationProgress (Output Int) will give a 0 – 100 value for progress through the verification batch

VerificationResult (Output Int) will provided the overall success / fail for the batch as below

Bit 0: All Pass

Bit 1: False Accept(s)

Bit 2: False Reject(s)

Bit 3: Unused

Bit 4: Empty List

Bit 5: Error

Bit 6: No Images

Bit 7: Unused

Page 16
10.2 Versions Display
Shows versions of EtherInspect11 and DLLs that are used (including templates)

10.3 Cycle Counts Display


Shows counts since startup, since shift start, and user-resettable

Page 17
11 INFORMATION LOG AREA
Shows log entries, holds 1000 entries in memory, all are logged to disk

Clicking “Filter” will flush the logs to disk and show the log viewer display

Clicking “Clear” will clear the visible display, log files are unaffected

11.1 Log Viewer Display


Allows viewing and filtering log files

Page 18
12 COMMUNICATIONS AREA
Displays PLC connection state, allows viewing IO and editing Tags

Clicking “View I/O” will show Tag States Display

Clicking “Setup Tags” will show Setup Tags Display

12.1 Tag States Display


Shows current values of PLC Tags and current state of camera thread, 100 ms refresh rate

Page 19
12.2 Setup Tags Display
Allows editing tags and displaying current values

Clicking “Tag Help” will show Tag Help Display, with information on tag functions and valid data types

Clicking “Edit PLCs” will show Edit PLCs Display, to add or delete PLC assignments.

12.3 Tag Help Display


Shows information on tag functions and valid data types

Page 20
12.4 Edit PLCs Display
Allows editing PLC connections, only one PLC vendor may be used at one time

12.4.1 Allen-Bradley Specific Notes


For Allen-Bradley PLCs, if slow communication is experienced, it may be necessary to increase the “System Overhead
Time Slice” setting in the processor.

Page 21
12.4.2 Siemens Specific Notes
For Siemens PLCs, if slow communication is experienced, it may be necessary to increase the “CPU Load due to
communication” setting. Values of up to 50% may be necessary.

12.4.3 Beckhoff Specific Notes


For Beckhoff PLCs, a driver package must be installed. Either install the Beckhoff TC1000 ADS router
https://www.beckhoff.com/TC1000/ or the complete TwinCAT3 suite.

Page 22
13 IMAGE SAVE OPTIONS AREA
Has settings for image save types, also allows playing back images

Clicking the drop-down in the upper left will change what images are stored (None, Pass, Fail or Pass & Fail )

Clicking the drop-down in the upper right will change the image type that is stored (BMP, PNG, JPG, or CDB). If a 3D
sensor is used, CDB format will be used automatically. JPG format is not recommended as stored images cannot be re-
introduced into Ether-Inspect.

Clicking HMI Image Output will enable saving a thumbnail image with graphics

Clicking Play Folder will open the Image Playback Options Display to create the image list

Clicking the drop-down in the lower right will change when the image playback stops (Continuous, RunToEnd,
StopOnPass, or StopOnFail)

Clicking “<<” will play the first image in the list

Clicking “<” will play the previous image in the list

Clicking Play will play the images in the list, stopping on the condition selected

Clicking “>” will play the next image in the list

Clicking “>>” will play the last image in the list

13.1 Image Playback Options Display


Sets criteria to search for images to be played

Page 23
14 FILE OPTIONS AREA
Allows loading/saving jobs and images

Clicking “New Job” will create a new job from the current template

Clicking “Save Job” will prompt for the name of the job to save

Clicking “Load Job” will show the file open dialog to load a job file

Clicking “Save Result” will prompt for the folder to save the current image and result XML file

Clicking “Load Image” will show the file open dialog to play a single image file

Clicking the drop-down at the bottom will select a startup job

Clicking “Startup Online” will make the camera go online at startup after the job is loaded

NOTE: Images and Jobs can be dragged onto the Ether-Inspect window to load them

Page 24
15 INSPECTION SETTINGS AREA
Allows the user to change settings on various tools in the current template

Double-clicking “INSPECTION SETTINGS” will open the Category Visiblility Display to show or hide categories

Clicking the arrows in the upper-right will re-run the inspection using the same image

Clicking the down arrow next to any category will show the tool settings for the first tool in each category

Page 25
15.1 Category Visibility Display
Has checkboxes for each category listed in InspectionSettingsDisplay to hide them

15.2 Changing the Number of Tools

Clicking “Add Tool” will create a new tool of the same type

Clicking “X” will delete the current tool

Double-clicking on the tool name (ex. CogPMAlignTool1) will open the VisionPro tool settings for that tool

Right-clicking on the tool name will allow renaming the tool

Changing the number in the up/down will change which tool is displayed

Page 26
15.3 Edit ToolBlock Display
Allows editing CogToolBlocks

15.4 Calibrate – Checkerboard calibration

Set the “Checker Size” to the size of the checkerboard squares (either metric or imperial units)

Choose the “Fiducial Style” if using other than the default Standard Rectangles

Optionally click “Edit Region” if you wish to designate a portion of the image to be calibrated.

Click the “Calibrate” button to calibrate

Click the “Uncalibrate” button to forget the calibration

If you want to allow sharing the calibration between jobs, enable the “External 2D Calibration” option within the job
settings under the camera in “Setup / Configuration”

Page 27
15.5 Calibrate – External Calibration (sharing between jobs)

Click “Save Calibration” to store the current calibration to a file.

Click “Load Calibration” to choose a file with calibration data in it.

When this option is enabled, the calibration will be loaded from the file each time the job is loaded. If the calibration
changes, it need only be saved once from a job that uses it.

15.6 Calibrate – HandEye2D Calibration


The HandEye2D calibration is an optional replacement for standard checkerboard calibration. To enable it, check the
“2D Hand Eye” checkbox within the job settings under the camera in “Setup / Configuration”.

The HandEye2D tool combines a checkerboard calibration and an N-Point calibration into one tool. The N-Point
calibration takes a minimum of 3 and a maximum of 90 points to correlate the robot coordinate system to the vision
coordinates. The HandEye2D tool provides 2 user interfaces. Described here is the operator user interface.

For the PLC Tag based interface, see

Page 28
Ether-Inspect Remote Interfaces

For all these interfaces, Ether-Inspect acts as the server and listens on the specified port.

Interface Name Connection Method Description


(click to jump there)
HandEye2D PLC Control PLC Tag Interface Interface for performing robot hand-eye calibration through
Interface PLC tags
TCP Remote Interface TCP Port 9000 + Instance General remote-control interface over TCP socket
# (9001 – 9006)
RESTful Web Service HTTP Port 80 + Instance # RESTful web services interface for remote control
(81 – 86)
Image Web Server HTTP Port 80 Serves camera images for PLC HMIs
VisionLine Interface TCP Port 52000 Allows remote control from Trumpf laser

HandEye2D PLC Control Interface

Select the “Image” to be used for calibration.

The top portion is a standard checkerboard calibration, see instructions above for that tool’s usage

Set the number of “Cal Points” to be used for calibration.

Choose the Target type (Circle find or Pattern find) and configure the tool using the “Edit Target” button.

Run the job to verify that the target is found

Register the calibration points:

• Set the “Point #”


• Enter the robot’s X coordinate
Page 29
• Enter the robot’s Y coordinate
• Click “Register Point”

Compute the calibration after all points are registered by clicking “Calibrate”

Calibrate – HandEye2D PLC control interface

15.7 Image Filtering Display

Select the operation to perform (None, Dialate, Erode, Open, Close, Multiply, or Custom)

Change the “Magnitude” to change the number of times the filter is run (or the constant in Multiply mode)

If “Custom” is chosen, the Image Filtering Tool can be edited by double-clicking the tool name.

15.8 Image Conversion Display

Click the “Image” drop-down to select the color input image to convert to grayscale

Click the “Region” button to change the operating region (default is entire image)

Change the “Red”, “Green” or “Blue” weights to alter how the grayscale image is generated

Page 30
15.9 Fixturing Display
Creates a 2D fixtured image

Quickstart:

Click the “Image” drop-down to select the input image to fixture

Click the “X” drop-down to select the tool to use for the X coordinate

Click the “Y” drop-down to select the tool to use for the Y coordinate

Click the “Rot” drop-down to select the tool to use for the Rotation value

Page 31
15.10 Pattern Tool Display

Quickstart:

Click the “Image” drop-down to select the input image

Click “Train Region” and adjust the region shape and size

Click “Train” to train the pattern

Score, Scale and Angle are shown for the last run

“Search Limits” are passed to the VisionPro tool

“Accept Limits” control the Pass/Fail result in Ether-Inspect

“Search Region” can be set to smaller than the entire image

“Score with Clutter” changes scorring setting in VisionPro tool

“Invert Result” flips Pass/Fail result in Ether-Inspect

“Show Search Region” will show the bounding box for the search region on the image

“Show Match Features” will draw the features on the image

The coordinate axes for the found pattern are always shown on the image

Page 32
15.11 Histogram Tool Display

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape and size

Adjust “Threshold” and “Min” and “Max” values

“Show Search Region” will show the bounding box for the search region on the image

“Use as Lighting Check” will turn on LightingNOK bit in Ether-Inspect status word if tool fails

15.12 Blob Tool Display

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape and size

Set “Light on Dark” or “Dark on Light”

Set “Clean Up” mode (Fill, Prune, None)

Adjust “Intensity” and “Min” and “Max” values

“Show Search Region” will show the bounding box for the search region on the image

Page 33
15.13 Measure Tool Display (Calipers)

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape and size

Set “Mode” (Pair or SingleEdge)

Set “Scoring”, Pairs (Strongest, Narrowest, Widest, WidestContinous) , Single edges (Best, First, Last, All)

Set edge polarity (DontCare, DarkToLight, LightToDark)

Adjust “Contrast”, “Filter Size”, and “Min” and “Max” values

“Show Search Region” will show the bounding box for the search region on the image

Page 34
15.14 Find Line Tool Display

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape and size

Set “Scoring” (Best, First, Last, All)

Set “Polarity” (DontCare, DarkToLight, LightToDark)

Set “Number of Points”

Adjust “Contrast”, “Filter Size”, and “Min” and “Max” values

“Show Search Region” will show the bounding box for the search region on the image

“Show Caliper Regions” will show the bounding box of caliper on the image

Page 35
15.15 Find Circle Tool Display

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape and size

Set “Scoring” (Best, First, Last, All)

Set “Polarity” (DontCare, DarkToLight, LightToDark)

Set “Number of Points”

Adjust “Contrast”, “Filter Size”, and “Min” and “Max” values

“Show Search Region” will show the bounding box for the search region on the image

“Show Caliper Regions” will show the bounding box of caliper on the image

Page 36
15.16 Codes Display (1D and 2D codes)

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape and size

Set “Mode” (Barcode, Matrix)

Select “Codes”

Set “Match String” if desired

“Show Search Region” will show the bounding box for the search region on the image

Page 37
15.17 Color Segmenter Display
Creates a binary image from a color image, based on selected HSI values

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape, if desired

Type in a “Color Name”

Click “+” to add the color

Select the newly created color name

Adjust the Hue, Saturation, and Intensity values, using sliders or up/down boxes

“Show Processing Region” will show the bounding box for the region processed on the image

“Hist Display Region” allows choosing an area of the image to show the histogram for

Page 38
15.18 2D Geometry

Quickstart:

Click the “Image” drop-down to select the input image

Click “Mode” and select the mode you want to use for geometry

“CircleFromThreePoints”

“DistanceLineToPoint”

“DistancePointToPoint”

“IntersectionOf2Lines”

“LineFrom2Points”

Based on mode, it will allow to select coordinate X Y or other settings.

Results will be shown in the bottom section.

Page 39
15.19 Cross Section

15.20 2 Point Fixturing

Quickstart:

Click the “Image” drop-down to select the input image

Click the “X (1)” drop-down to select the tool to use for the X coordinate of the first point

Click the “Y (1)” drop-down to select the tool to use for the Y coordinate of the first point

Click the “X (2)” drop-down to select the tool to use for the X coordinate of the second point

Click the “Y (3)” drop-down to select the tool to use for the Y coordinate of the second point

“Set Raw Fixtured Points” – It will set the Raw Fixtured point same as unfixtured point

15.21 Image Masking

Quickstart:

Click the “Image” drop-down to select the input image

Click “Region” and adjust the region shape and size

Set the fill value which will be used to fill the masked region

Page 40
15.22 Beads

Quickstart:

Common setting that will be applied to all the regions. Individual setting instructions are given below

Set “Expected Width”

Adjust width range “Min” and “Max” values

Set “Scoring” (Fast, Enhanced, Advanced)

Set “Left Edge” (DarkToLight, LightToDark, DontCare)

Set “Right Edge” (DarkToLight, LightToDark, DontCare)

Set “Min Contrast”

Set “Edge Width” in pixels

Set “Caliper Width” in pixels

Set “Caliper Overlap” in pixels

Set “Width Exceptions”

“Save Master” – Save master bead

“Show Master” – Show master bead

“All Regions” – It will show all the regions on display. There will be an option to remove region within screen.

Current region number – It will allow to change the index of regions to set the individual region setting

Page 41
15.23 VIDI Pre Processing

Quickstart:

“Create” will allow to customize tool that will be applied to image before VIDI processing.

“Delete” will allow to delete any customization for pre processing.

“Edit ToolBlock” will open tool block editor for customization.

VIDI

Quickstart:

“Load Workspace” will allow to select pre configured VIDI workspace file.

“Red Analyze Graphics” select whether to show red tool analyze graphics or not.

“Blue Locate Graphics” select whether to show green tool classify graphics or not.

“Blue Read Graphics” select whether to show blue tool read text graphics on screen.

“Show Corner Text” select whether to show short result on upper-left corner of the screen.

Page 42
15.24 VIDI Post Processing

Quickstart:

“Create” will allow to customize tool that will be applied to VIDI processing results.

“Delete” will allow to delete any customization for post processing.

“Edit ToolBlock” will open tool block editor for customization.

Page 43
15.25 Custom ToolBlock

Quickstart:

“Edit ToolBlock” Will allow editing the ToolBlock

Page 44
15.25.1 Custom ToolBlock UI Controls
15.25.1.1 “Input Image” Example
Adding an input terminal of type ICogImage allows linking that image in the UI

Page 45
15.25.1.2 “Number Picker” example
It requires to add two input terminals, one is to define type/value and other to set the UI properties.

DemoNumber is the main int type while _DemoNumber is to define additional properties of the UI control.

Note - Just DemoNumber will not create any UI control, UI control’s value will be based on main terminal.

_DemoNumber : it should be string type and value should be in specific format –

{type}, {display_name}, {min_value}, {max_value}

{type} – it must be “Integer”

{display_name} – It will be visible as text of the control

{min_value} – minimum allowed value of number picker

{max_value} – maximum allowed value of number picker

15.25.1.3 “Label” example


It only requires one input terminal.

_DemoLabel : it should be string type and value should be in specific format –

Page 46
{type}, {display_name}

{type} – it must be “Label”

{display_name} – It will be visible as text of the control

15.25.1.4 “Check box” example


It requires to add two input terminals, one is to define type/value and other to set the UI properties.

DemoChkbox is the main int type while _DemoChkbox is to define additional properties of the UI control.

Note - Just DemoChkbox will not create any UI control, UI control’s value will be based on main terminal.

_DemoChkbox : it should be string type and value should be in specific format –

{type}, {display_name}

{type} – it must be “CheckBox”

{display_name} – It will be visible as text of the control

Page 47
15.25.1.5 “Dropdown” example
It requires to add two input terminals, one is to define type/value and other to set the UI properties.

DemoDropDown is the main int type while _DemoDropDown is to define additional properties of the UI control.

Note - Just DemoDropDown will not create any UI control, UI control’s value will be based on main terminal.

_DemoDropDown : it should be string type and value should be in specific format –

{type}, {display_name}, {comma_separated_values}

{type} – it must be “ComboBox”

{display_name} – It will be visible as text of the control

{comma_separated_values} – List down all the values you want in dropdown as comma separated

15.25.1.6 “Float” example


It requires to add two input terminals, one is to define type/value and other to set the UI properties.

DemoFloat is the main int type while _DemoFloat is to define additional properties of the UI control.

Note - Just DemoFloat will not create any UI control, UI control’s value will be based on main terminal.

_DemoFloat : it should be string type and value should be in specific format –

{type}, {display_name}, {min_value}, {max_value}

{type} – it must be “Float”

Page 48
{display_name} – It will be visible as text of the control

{min_value} – minimum allowed value of number picker

{max_value} – maximum allowed value of number picker

15.25.1.7 Text Input Example


It requires to add two input terminals, one is to define type/value and other to set the UI properties.

DemoText is the main int type while _DemoText is to define additional properties of the UI control.

Note - Just DemoText will not create any UI control, UI control’s value will be based on main terminal.

_DemoText : it should be string type and value should be in specific format –

{type}, {display_name}

{type} – it must be “TextBox”

{display_name} – It will be visible as text of the control

Page 49
15.25.1.8 Tool Edit Button Example
It only requires one input terminal.

_DemoButton : it should be string type and value should be in specific format –

{type}, {display_name}, {tool_name}

{type} – it must be “Button”

{display_name} – It will be visible as text of the control

{tool_name} – Enter the name of tool you want to edit

Page 50
15.26 Scripting Functionality (C#)
15.26.1 Scripting Tool Display

Clicking “Edit Script” will open the Script Editor Display

15.26.2 Script Editor Display


Allows editing the C# code used in the Ether-Inspect scripting environment

Changing the number in the up/down box will change the font size

Clicking “Show References” will show the DLLs that are included when the script is compiled

Clicking “Compile” will compile the script without running it. Errors show in the box at the bottom.

Clicking “Run” will compile if needed, and run the script

Double-clicking on an item in the left tree will paste sample code into the editor window

Items in blue in the left tree will open the Script Code Builder display to provide user options before pasting in the code
editor.

Clicking the “Debug Mode” checkbox and re-compiling will enable a stack trace with line numbers when a script
exception occurs during execution

Page 51
15.26.2.1 Script function dialog – Set Feature

Quickstart:

Feature Number – Select feature number to set the result.

Passed – Check if want to set the features passed.

Generated code will be pasted into the script as bellow

15.26.2.2 Script function dialog – Set Feature Name

Quickstart:

Feature Number – Select feature number to set the name.

Name – Enter the name you want to set to the feature.

Generated code will be pasted into the script as bellow

Page 52
15.26.2.3 Script function dialog – Write Feature Word

Quickstart:

Tag – Select the tag name from list

Word Number – Set the word number you want to set

Generated code will be pasted into the script as bellow

Page 53
15.26.2.4 Script function dialog – Add Label

Quickstart:

Text – Enter the text you want to set as Graphic label

X Coord – Set the label X coordinate

Y Coord – Set the label Y coordinate

Color – Select the color from the list

Alignment – Select the label text alignment

Font size – Adjust the font size

Background color – Select the background color

Image coordinate space name – Set the coordinate space

Generated code will be pasted into the script as bellow

Page 54
15.26.2.5 Script function dialog – Add Rectangle

Quickstart:

X Coord – Set the X coordinate of rectangle

Y Coord – Set the Y coordinate of rectangle

Height – Set the height of rectangle

Width – Set the width of rectangle

Color – Select the color of rectangle

Image coordinate space name – Set the coordinate space

Generated code will be pasted into the script as bellow

Page 55
15.26.2.6 Script function dialog – Add Circle

Quickstart:

X Coord – Set the X coordinate of circle

Y Coord – Set the Y coordinate of circle

Radius – Radius of the circle

Color – Select the color of circle

Image coordinate space name – Set the coordinate space

Generated code will be pasted into the script as bellow

Page 56
15.26.2.7 Script function dialog – Add Crosshair

Quickstart:

X Coord – Set the X coordinate of crosshair

Y Coord – Set the Y coordinate of crosshair

Rotation – Rotation of the crosshair

Size – Size of crosshair

Line Thickness – Thickness of the crosshair line

Color – Select the color of circle

Image coordinate space name – Set the coordinate space

Generated code will be pasted into the script as bellow

Page 57
15.26.2.8 Script function dialog – Calculate Distance

Quickstart:

X1 – X coordinate of first point

Y1 – Y coordinate of first point

X2 – X coordinate of second point

Y2 – Y coordinate of second point

It will return the distance between two points

Generated code will be pasted into the script as bellow

15.26.2.9 Script function dialog – Covert Radius to Degree

Quickstart:

Radians – Enter radiance value you want to convert it to degree

Generated code will be pasted into the script as bellow

Page 58
15.26.2.10 Script function dialog – Line Segment From Points

Quickstart:

X1 – X coordinate of first point of line

Y1 – Y coordinate of first point of line

X2 – X coordinate of second point of line

Y2 – Y coordinate of second point of line

Generated code will be pasted into the script as bellow

15.26.2.11 Script function dialog – Distance Point to Line

Quickstart:

X1 – X coordinate of point

Y1 – Y coordinate of point

Line Segment – Line name from which you want to measure the distance between point

Generated code will be pasted into the script as bellow

Page 59
15.26.2.12 Script function dialog – Log Entry

Quickstart:

Level – Select the log level of entry. It could be Debug, Info, Warning or Error

Message – Text message you want to enter

Generated code will be pasted into the script as bellow

Page 60
15.26.2.13 Script function dialog – Write QLS Result

Quickstart:

Collection point – Select the collection point, it is also known as Cell ID

Inspection Item – Select the inspection item name from the list

Concern – Select the concern from list or update it conditionally from the script

Position A – Select the position

Position B - Select the position

Position C - Select the position

Position D - Select the position

Position Arbitrary - Select the position

Comment – Write comment

Generated code will be pasted into the script as bellow

Page 61
15.27 Script UI Controls
A new feature in Ether-Inspect 11 is the ability to add user-defined inputs to scripts.

By creating public static properties at the beginning of a script file, the operator can modify values at runtime without
editing the script.

Adding a System.ComponentModel.Description attribute will allow changing the displayed name.

Public static parameter-less methods are also supported and will be shown as buttons on the UI.

Page 62
16 CAMERA SETTINGS AREA
Contains settings for Exposure, Brightness, Contrast, White Balance

Clicking “X Attempt” will open the Acquisition Attempts Display to modify attempts, sensors, images and exposures

Clicking “Image Setup” will open the Image Settings Display to configure the camera

Clicking “Copy From Job” will copy the camera settings from another job file

Page 63
16.1 Acquisition Attempts Display

16.1.1 Multiple Attempts


Use multiple attempts to attempt the same job multiple times with different image settings

16.1.2 Multiple Sensors (Hybrid Cameras)


Use multiple sensors (not pictured) to configure image settings for hybrid cameras

16.1.3 Multiple Images


Use multiple images if the application requires more than 1 image with different lighting (such as SurfaceFX). This
feature requires enabling Pre-Acquisition Scripting in the Job settings and setting Number of Images greater than 1

If Use Same Exposure for All images is selected, the tabs for Image 1, Image 2, etc. will not be visible

16.1.4 Multiple Exposures (HDR)


Use multiple exposures to create a 16 bit High Dynamic Range image (HDR) HDR images combine pixels from the
different exposure levels to create an image the preserves dark and light regions without over exposing. Up to 5
additional exposures can be configured for HDR, for a total of 6 images

16.1.5 Tone Mapping


The Tone Mapping algorithm will compress a 16 bit image to 8 bits, preserving local contrast.

These features (Multiple Attempts, Multiple Sensors, Multiple Images, and Multiple Exposures) can all be used
simultaneously if desired.

Page 64
16.2 Image Settings Display
Allows configuring camera properties

Page 65
17 TRIGGER OPTIONS AREA
Has settings for trigger type, inter-trigger delay, and Auto/Manual mode change

Camera version on left, Simulator version on right

Common Features:

Clicking “Snapshot” will capture a single image

Clicking “Go Auto” will put the camera in AUTO mode

Clicking “Go Manual” will put the camera in MANUAL mode

Setting Inter-Trigger Delay will change how long between triggers in Timed mode, or Image Playback mode

Camera Features:

Clicking “Light On” will toggle the “TurnLightON” bit in the Ether-Inspect status word

Clicking “Go Live” will toggle a live display of the camera, for optics adjustment, no inspection will be performed

Clicking “External” will configure the camera for hardware trigger

Clicking “Network” will configure the camera for network trigger

Simulator Features:

Clicking “Sort” will run through the images in the Play Folder.

Clicking “Sort into Pass/Fail Folders” determines if “Sort” will copy images into new Pass/Fail subfolders.

Clearing “Use Inter-Trigger Delay” will allow running as fast as possible when playing images.

Page 66
18 RESULTS AREA
Shows inspection result summary at top

19 IMAGE AREA
Shows camera image with graphics (when in multicam mode, has a title)

Clicking the drop-down in the upper right will show images from different tools in the job

Clicking the shape symbol in the lower right will toggle between (All Graphics, Fail Only Graphics, and No Graphics)

Additional features when editing a region:

Clicking the bottom drop-down will change the shape of the region

Clicking the checkmark will accept the region edit

Clicking the X will cancel the region edit

Clicking the + will add a vertex to a polygon region

Clicking the – will delete a vertex from a polygon region

Page 67
20 Ether-Inspect Remote Interfaces
For all these interfaces, Ether-Inspect acts as the server and listens on the specified port.

Interface Name Connection Method Description


(click to jump there)
HandEye2D PLC PLC Tag Interface Interface for performing robot hand-eye calibration
Control Interface through PLC tags
TCP Remote Interface TCP Port 9000 + Instance # General remote-control interface over TCP socket
(9001 – 9006)
RESTful Web Service HTTP Port 80 + Instance # RESTful web services interface for remote control
(81 – 86)
Image Web Server HTTP Port 80 Serves camera images for PLC HMIs
VisionLine Interface TCP Port 52000 Allows remote control from Trumpf laser

20.1 HandEye2D PLC Control Interface


The HandEye2D tool supports a ToolBlock terminal-based interface that can be linked to PLC tags for control.

Some parts of calibration must be done manually, such as setting the number of points and configuring the calibration
target finder (circle or pattern).

The Inputs are RobotX, RobotY, and Command.

RobotX is a double value representing the X value of the location in the robot’s coordinate system

RobotY is a double value representing the Y value of the location in the robot’s coordinate system

Command has several possible values:

0 – Do Nothing

1 – 90 – Register calibration point 1 – 90

Page 68
100 – Compute N Point calibration

150 – Calibrate checkerboard

The outputs are RMSError and Status.

RMSError is the error of the N Point calibration fit. This will only be output if Command 100 is requested.

Status indicates the result of a Command; the values are as follows:

0 – No Action was taken

1 – 90 – Point was registered successfully

100 – 190 – Point registration failed

198 – Argument Error

199 – Calculation Error

200 – Calculation Ok

Page 69
20.2 TCP Remote Interface
It is a TCP based remote interface from which you can perform some operations in Ether-Inspect. Each application
instance will have its own TCP listener and can be controlled separately. Once connected to the TCP server on port 9001
for instance 1, or 9002 for instance 2, etc., the following commands may be executed:

20.2.1 Cameras
This will return list of available cameras from application instance.

Request: “CAMERAS;”

Response: it will return a string in specific format. String format -


“{command},{number_of_camera},{comma_separated_cam_name};”

e.g. “CAMERAS,3,CAM1,CAM2,CAM3;”

20.2.2 Trigger
Camera can be triggered using this command

Request: “TRIGGER,{camera_name},{job_number};”

Camera_name (Datatype – string) – a valid camera name, please use the camera name returned from CAMERAS
command.

Job_number (Datatype – int) – pass the job number which you want to change before triggering. -1 can be used if you
want to trigger with current job.

Response: it will return a string in specific format, “NOK” will be returned in case of any issue. String format -
“{command},{camera_name},{inspection_result};”

e.g. “TRIGGER,CAM1,true;”

20.2.3 ShowMultiCam – Camera view can be changed to multi cam using this command
Request: “SHOWMULTICAM;”

Response: it will return a string in specific format. String format - “{command},{result};”

e.g. “SHOWMULTICAM,true;”

20.2.4 ShowSingleCam - Camera view can be changed to single cam using this command
Request: “SHOWSINGLECAM,{camera_name};”

Camera_name (Datatype – string) – a valid camera name, please use the camera name returned from CAMERAS
command.

Response: it will return a string in specific format, “NOK” will be returned in case of any issue. String format -
“{command},{result};”

e.g. “SHOWSINGLECAM,true;”

Page 70
20.2.5 AppName – Get the application name
Request: “APPNAME;”

Response: it will return a string in specific format. String format - “{command},{application_name};”

e.g. “APPNAME,Ether-Inspect;”

20.2.6 AppVersion – Get the application version


Request: “APPVERSION;”

Response: it will return a string in specific format. String format - “{command},{application_version};”

e.g. “APPVERSION,11.3.2;”

20.2.7 InstanceNumber – Get the application instance number


Request: “INSTANCENUMBER;”

Response: it will return a string in specific format. String format - “{command},{instance_number};”

e.g. “INSTANCENUMBER,1;”

20.2.8 CameraType – Get camera type by camera name


Request: “CAMERATYPE,{camera_name};”

Camera_name (Datatype – string) – a valid camera name, please use the camera name returned from CAMERAS
command.

Response: it will return a string in specific format. String format - “{command},{camera_type};”

e.g. “CAMERATYPE,Virtual;”

20.2.9 LoadJob – Load job by number


Request: “LOADJOB,{camera_name},{job_number};”

Camera_name (Datatype – string) – a valid camera name

Job_number (Datatype – int) – a job number you want to load

Response: it will return a string in specific format. String format - “{command},{result};”

e.g. “LOADJOB,true;”

Page 71
20.2.10 JobName – Get current job name as string
Request: “JOBNAME,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{job_name};”

e.g. “JOBNAME,DemoJobName;”

20.2.11 JobNumber – Get current job number


Request: “JOBNAME,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{job_number};”

e.g. “JOBNAME,2;”

20.2.12 GoLive – Put camera into live mode


Request: “GOLIVE,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{result};”

e.g. “GOLIVE,true;”

20.2.13 GoAuto – Put camera into auto mode


Request: “GOAUTO,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{result};”

e.g. “GOAUTO,true;”

20.2.14 GoManual – Put camera into manual mode


Request: “GOMANUAL,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{result};”

e.g. “GOMANUAL,true;”

Page 72
20.2.15 State – Get current state or camera
Request: “STATE,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{state};”

e.g. “STATE,Ready;”

20.2.16 Mode – Get current trigger mode


Request: “MODE,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{mode};”

e.g. “MODE,Manual;”

20.2.17 InputTags – This will return list of input tags configured for camera
Request: “INPUTTAGS,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format -


“{command},{number_of_tags},{comma_separated_tag_name};”

e.g. “INPUTTAGS,3,Tag1,Tag2,Tag3;”

20.2.18 OutputTags – This will return list of output tags configured for camera
Request: “OUTPUTTAGS,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format -


“{command},{number_of_tags},{comma_separated_tag_name};”

e.g. “OUTPUTTAGS,2,Tag4,Tag5;”

20.2.19 InputTagType – Get data type of input tag


Request: “INPUTTAGTYPE,{camera_name},{tag_name};”

Camera_name (Datatype – string) – a valid camera name

Tag_name (Datatype – string) – a valid tag name, please use INPUTTAGS to get list of input tag names

Response: it will return a string in specific format. String format - “{command},{tag_type};”

e.g. “INPUTTAGTYPE,double;”

Page 73
20.2.20 OutputTagType – Get data type of output tag
Request: “OUTPUTTAGTYPE,{camera_name},{tag_name};”

Camera_name (Datatype – string) – a valid camera name

Tag_name (Datatype – string) – a valid tag name, please use OUTPUTTAGS to get list of output tag names

Response: it will return a string in specific format. String format - “{command},{tag_type};”

e.g. “OUTPUTTAGTYPE,int;”

20.2.21 ReadInputTag – Read value of input tag


Request: “READINPUTTAG,{camera_name},{tag_name};”

Camera_name (Datatype – string) – a valid camera name

Tag_name (Datatype – string) – a valid tag name, please use INPUTTAGS to get list of input tag names

Response: it will return a string in specific format. String format - “{command},{tag_value};”

e.g. “READINPUTTAG,12.36;”

20.2.22 ReadOutputTag – Read value of output tag


Request: “READOUTPUTTAG,{camera_name},{tag_name};”

Camera_name (Datatype – string) – a valid camera name

Tag_name (Datatype – string) – a valid tag name, please use OUTPUTTAGS to get list of output tag names

Response: it will return a string in specific format. String format - “{command},{tag_value};”

e.g. “READOUTPUTTAG,54;”

20.2.23 WriteTag – Write value to output tag


Request: “WRITETAG,{camera_name},{tag_name},{value};”

Camera_name (Datatype – string) – a valid camera name

Tag_name (Datatype – string) – a valid tag name, please use OUTPUTTAGS to get list of output tag names

Value (Datatype – object) – value you want to write, make sure datatype is matching

Response: it will return a string in specific format. String format - “{command},{result};”

Result will be true if data was written successfully, false otherwise.

e.g. “WRITETAG,true;”

Page 74
20.2.24 Exposure – Set or get camera exposure value
Request: “EXPOSURE,{camera_name},{index},{value};”

Camera_name (Datatype – string) – a valid camera name

Index (Datatype – int) – index of multiple exposures

Value (Datatype – double) - the value of exposure you want to set, keep empty (NULL) if you want to get the value of
current exposure without set

Response: it will return a string in specific format. String format - “{command},{current_exposure};”

Current_exposure (Datatype – double) - an exposure value will return, if command is called with set value argument
then updated value will be returned.

e.g. “EXPOSURE,80;”

20.2.25 Contrast – Set or get camera contrast value


Request: “CONTRAST,{camera_name},{index},{value};”

Camera_name (Datatype – string) – a valid camera name

Index (Datatype – int) – index of multiple contrasts

Value (Datatype – double) - the value of contrast you want to set, keep empty (NULL) if you want to get the value of
current contrast without set

Response: it will return a string in specific format. String format - “{command},{current_contrast};”

Current_contrast (Datatype – double) – a contrast value will return, if command is called with set value argument then
updated value will be returned.

e.g. “CONTRAST,0.5;”

20.2.26 Brightness – Set or get camera brightness value


Request: “BRIGHTNESS,{camera_name},{index},{value};”

Camera_name (Datatype – string) – a valid camera name

Index (Datatype – int) – index of multiple brightness

Value (Datatype – double) - the value of brightness you want to set, keep empty (NULL) if you want to get the value of
current brightness without set

Response: it will return a string in specific format. String format - “{command},{current_brightness};”

Current_brightness (Datatype – double) – a brightness value will return, if command is called with set value argument
then updated value will be returned.

e.g. “BRIGHTNESS,0.5;”

Page 75
20.2.27 MaxExposure – Get maximum exposure count
Request: “MAXEXPOSURE,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{count};”

e.g. “MAXEXPOSURE,5;”

20.2.28 EnableMultiExposure – Enable or disable multi exposure


Request: “ENABLEMULTIEXPO,{camera_name},{value};”

Camera_name (Datatype – string) – a valid camera name

Value (Datatype – boolean) – True or false to enable or disable multi exposure

Response: it will return a string in specific format. String format - “{command},{result};”

Result will be true if mode was updated successfully, false otherwise.

e.g. “ENABLEMULTIEXPO,true;”

20.2.29 StartC – Start HandEye2D calibration


Request: “STARTC,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{result};”

Result will be “1” if success, “0”, otherwise.

e.g. “STARTC,1;”

20.2.30 Cal – Register HandEye2D calibration point


Request: “STARTC,{camera_name},{point_number},{robot_X},{robot_Y};”

Camera_name (Datatype – string) – a valid camera name

Point_number (Datatype – int) – Cal point number 1 -90

Robot_X (Datatype – double) – Robot Pose X Coordinate

Robot_Y (Datatype – double) – Robot Pose Y Coordinate

Response: it will return a string in specific format. String format - “{command},{result};”

Result will be “1” if success, “0”, otherwise.

e.g. “CAL,1;”

Page 76
20.2.31 EndC – End HandEye2D calibration and compute result
Request: “ENDC,{camera_name};”

Camera_name (Datatype – string) – a valid camera name

Response: it will return a string in specific format. String format - “{command},{result};”

Result will be “1” if success, “0”, otherwise.

e.g. “ENDC,1;”

Page 77
20.3 RESTful Web Service
It is an HTTP RESTful web server interface from which you can perform some operations in Ether-Inspect. Each
application instance will have its own web server and can be controlled separately.

TCP Port – Application instance number + 80. E.g. 81 for the first Ether-Inspect instance.

URLs

http://server-name-or-ip:81/eiremote/v1/version

Returns: String - remote api version

http://server-name-or-ip:81/eiremote/v1/appname

Returns: String - application name

http://server-name-or-ip:81/eiremote/v1/appversion

Returns: String - Ether-Inspect application version

http://server-name-or-ip:81/eiremote/v1/instancenumber

Returns: int - application instance number

http://server-name-or-ip:81/eiremote/v1/cameras

This will return list of available cameras from application instance.

Returns: A list of Camera name List<String>

http://server-name-or-ip:81/eiremote/v1/showmulticam

Camera view can be changed to multi cam using this url request

Returns: boolean (success/fail)

http://server-name-or-ip:81/eiremote/v1/showsinglecam/{cameraname}

Camera view can be changed to single cam using this url request

{cameraname} - a valid camera name, please use the camera name returned from list of cameras url.

Returns: boolean (success/fail)

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/typename

{cameraname} - a valid camera name, please use the camera name returned from list of cameras url.

Returns: String – camera type name

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/trigger

It will trigger the camera and run inspection with current job

Returns: boolean – inspection result

Page 78
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/trigger/{jobnumber}

{cameraname} - a valid camera name, please use the camera name returned from list of cameras url.

{jobnumber} - pass the job number which you want to change before triggering. -1 can be used if you want to
trigger with current job.

Returns: boolean – inspection result

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/triggerwithresult

Returns: json based JobResult

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/triggerwithresult/{jobnumber}

{cameraname} - a valid camera name, please use the camera name returned from list of cameras url.

{jobnumber} - pass the job number which you want to change before triggering. -1 can be used if you want to
trigger with current job.

Returns: json based JobResult

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/loadjob/{jobnumber}

Returns: boolean (success/fail)

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/jobname

Returns: string – current job name

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/jobnumber

Returns: int – current job number

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/liveacquire

Change current camera mode to Live

Returns: boolean (success/fail)

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/goauto

Change current camera mode to Auto

Returns: boolean (success/fail)

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/gomanual

Change current camera mode to Manual

Returns: boolean (success/fail)

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/state

Returns: string - current state of camera

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/mode

Returns: string - current trigger mode of camera


Page 79
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/input

This will return list of available input tag names.

Returns: A list of input tag name as string

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/output

This will return list of available output tag names.

Returns: A list of output tag name as string

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/inputtype

Get the datatype of input tag

Returns: string - datatype of given input tag

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/outputtype

Get the datatype of output tag

Returns: string - datatype of given output tag

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/readinput

Returns: object - current value of input tag

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/readoutput

Returns: object - current value of output tag

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/write/{value}

Write output tag value

Returns: Boolean - true if write was successful, false otherwise

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/exposure/{exposurenumber}/get

Returns: double - current exposure value of given exposure index

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/exposure/{exposurenumber}/set/{value}

Returns: Boolean - true if set operation was successful, false otherwise

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/contrast/{contrastnumber}/get

Returns: double - current contrast value of given contrast index

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/contrast/{contrastnumber}/set/{value}

Returns: Boolean - true if set operation was successful, false otherwise

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/brightness/{brightnessnumber}/get

Returns: double - current brightness value of given contrast index

Page 80
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/brightness/{brightnessnumber}/set/{value}

Returns: Boolean -true if set operation was successful, false otherwise

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/maxexposurecount

Returns: int – maximum number of exposures

http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/enablemultipleexposures/{value}

Returns: Boolean - true if set operation was successful, false otherwise

Page 81
20.4 Image Web Server
It is an HTTP web server on port 80 which will provide HMI images and camera results.

http://localhost/

Provides list of available cameras

http://localhost/v*/list

Provides list of available cameras

http://localhost/v*/svg/{CameraName}

Provides latest svg image of given camera

http://localhost/v*/png/{CameraName}

Provides latest png image of given camera

http://localhost/v*/html/{CameraName}

Provides latest html image of given camera

http://localhost/v*/{CameraName}

Provides master html page with latest result of given camera

http://localhost/v*/detail/{CameraName}

Provides detail html page with latest result of given camera

http://localhost/v*/master/{CameraName}

Provides master html page with latest result of given camera

Page 82
20.5 VisionLine Interface

It is an Ethernet socket-based communication between Ether-Inspect and a Trumpf laser controller. The Trumpf laser
controller initiates communication. Ether-Inspect listens on port 52000

20.5.1 Setting up VisionLine jobs


XML settings need to be added in Common.cfg file. VisionLine setting can be configured per job number per camera.
Add XML like below example within <CommonConfiguration> section in Common.cfg file.

20.5.2 XML Example


<VisionLineJobs>

<VisionLineSettings Enabled=”true” IPSTARTNumber=11” CameraName=”Cam1” JobNumber=”1”


PFOXOffset10MicronUnits = “24”, PFOYOffset10MicronUnits=”36”, PFOZOffset10MicronUnits=”48”
PFOFocus10MicronUnits=”100” HighResolutionRotatoin=”false”/>

<VisionLineSettings Enabled=”true” IPSTARTNumber=”12” CameraName=”Cam1” JobNumber=”2”


PFOXOffset10MicronUnits = “24”, PFOYOffset10MicronUnits=”36”, PFOZOffset10MicronUnits=”48”
PFOFocus10MicronUnits=”100” HighResolutionRotatoin=”false”/>

<VisionLineSettings Enabled=”true” IPSTARTNumber=”13” CameraName=”Cam1” JobNumber=”3”


PFOXOffset10MicronUnits = “24”, PFOYOffset10MicronUnits=”36”, PFOZOffset10MicronUnits=”48”
PFOFocus10MicronUnits=”100” HighResolutionRotatoin=”false”/>

</VisionLineJobs>

20.5.3 XML Element Descriptions


“CameraName” – this should match with EtherInspect camera name for which you want to configure VisionLine

“JobNumber” – set the jobnumber for which you want to enable VisionLine.

“Enabled” – set True to enable VisionLine setting for particular JobNumber and Camera.

“PFOXOffset10MicronUnits” – Set X Offset coordinate you want to set in PFO, Will be used in IPSTART.

“PFOYOffset10MicronUnits” – Set Y Offset coordinate you want to set in PFO, Will be used in IPSTART.

“PFOZOffset10MicronUnits” – Set Z Offset coordinate you want to set in PFO, Will be used in IPSTART.

“PFOFocus10MicronUnits” – Set Focus Offset you want to set in PFO, Will be used in IPSTART.

“HighResolutionRotatoin” – set to True if you want to set the high-resolution rotation which will be used in IPRDY
response.

Page 83
20.5.4 IPSTART – Start a new image processing cycle.
Request: “IPSTART,{ipstart_number};”

{ipstart_number} – set the ip start job number

Response: Ether-Inspect will provide the coordinates to focus the optics (PFO). String format -

“SETPFO {PFOX} {PFOY} {PFOX} {PFOFocus}” – Send PFO offset to Trumpf system

{PFOX} – PFO X Offset 10 Micron Units

{PFOY} – PFO Y Offset 10 Micron Units

{PFOZ} – PFO Z Offset 10 Micron Units

{PFOFocus} – PFO Focus 10 Micron Units

“IPBREAK {code}” - When Ether-Inspect is not ready

{code} – 768 (“RUNNING_ERROR = 0x0300”)

20.5.5 IPSTATEREQ – Inquire state of the image processing.


Request: “IPSTATEREQ;”

Response: Ether-Inspect will return the current status. String format - “{IPSTATERESP} {code}”

{code} – 0 (“OK = 0x0000”)

{code} – 2 (“IPSTATEREQ_DURING_CALCULATION = 0x0002”)

{code} – 768 (“RUNNING_ERROR = 0x0300”)

{code} – 1024 (“FAULTY_WORKPIECE = 0x0400”)

20.5.6 PFORDY – Programmable focusing optics (PFO) in position.


Once this command is received by Ether-Inspect, it will trigger the camera and respond with IPRDY (and vars) or IPBREAK
and error code.

Request: “PFORDY;”

Response: Ether-Inspect will return the values of XVar or TVar tags when image processing is complete.

“IPRDY <XVARS> <XVAR01> 12.6523 </XVAR01> <XVAR02> 2.623 </XVAR02> </XVARS>” – Return XVAR (Dynamic table)
data back

“IPRDY <TVARS> <TVAR01> 12.6523 </TVAR01> <TVAR02> 2.623 </TVAR02> </TVARS>” – Return TVAR (Static table)
data back

“IPBREAK {code}” – On error

{code} – 512 (“CALCULATION_FAULT = 0x0200”)

{code} – 1024 (“FAULTY_WORKPIECE = 0x0400”)

{code} – 768 (“RUNNING_ERROR = 0x0300”)

{code} – 3 (“PFORDY_WITHOUT_IPSTART = 0x0003”)

Page 84

You might also like