EtherInspect 11 Documentation
EtherInspect 11 Documentation
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.
Clear !Defined
||Clear == High Acquiring
Results
Acquire Images, Set
Processing
ExposureComplete
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
12 COMMUNICATIONS AREA
18 RESULTS AREA
19 IMAGE AREA
Page 9
9 SELECT CAMERA AREA
Scrollable panel to let user choose a camera.
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.
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
Page 11
10.1 User Settings Display
Allows user to edit application settings, including camera and job specific 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.
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
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 Username – Username to connect to MQTT broker, leave it blank for no authentication.
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.
Acquisition Buffer Size – Values greater than 1 allow acquiring a new image while the first is processing.
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.
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 3: Unused
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)
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
Page 18
12 COMMUNICATIONS AREA
Displays PLC connection state, allows viewing IO and editing Tags
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.
Page 20
12.4 Edit PLCs Display
Allows editing PLC connections, only one PLC vendor may be used at one time
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.
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 Play will play the images in the list, stopping on the condition selected
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 “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
Clicking “Add Tool” will create a new tool of the same type
Double-clicking on the tool name (ex. CogPMAlignTool1) will open the VisionPro tool settings for that tool
Changing the number in the up/down will change which tool is displayed
Page 26
15.3 Edit ToolBlock Display
Allows editing CogToolBlocks
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.
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)
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.
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.
Page 28
Ether-Inspect Remote Interfaces
For all these interfaces, Ether-Inspect acts as the server and listens on the specified port.
The top portion is a standard checkerboard calibration, see instructions above for that tool’s usage
Choose the Target type (Circle find or Pattern find) and configure the tool using the “Edit Target” button.
Compute the calibration after all points are registered by clicking “Calibrate”
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.
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 “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 “Train Region” and adjust the region shape and size
Score, Scale and Angle are shown for the last run
“Show Search Region” will show the bounding box for the search region on the image
The coordinate axes for the found pattern are always shown on the image
Page 32
15.11 Histogram Tool Display
Quickstart:
“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
Quickstart:
“Show Search Region” will show the bounding box for the search region on the image
Page 33
15.13 Measure Tool Display (Calipers)
Quickstart:
Set “Scoring”, Pairs (Strongest, Narrowest, Widest, WidestContinous) , Single edges (Best, First, Last, All)
“Show Search Region” will show the bounding box for the search region on the image
Page 34
15.14 Find Line Tool Display
Quickstart:
“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:
“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:
Select “Codes”
“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:
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 “Mode” and select the mode you want to use for geometry
“CircleFromThreePoints”
“DistanceLineToPoint”
“DistancePointToPoint”
“IntersectionOf2Lines”
“LineFrom2Points”
Page 39
15.19 Cross Section
Quickstart:
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
Quickstart:
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
“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.
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.
Page 43
15.25 Custom ToolBlock
Quickstart:
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.
Page 46
{type}, {display_name}
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.
{type}, {display_name}
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.
{comma_separated_values} – List down all the values you want in dropdown as comma separated
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.
Page 48
{display_name} – It will be visible as text of the control
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.
{type}, {display_name}
Page 49
15.25.1.8 Tool Edit Button Example
It only requires one input terminal.
Page 50
15.26 Scripting Functionality (C#)
15.26.1 Scripting Tool Display
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.
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:
Quickstart:
Page 52
15.26.2.3 Script function dialog – Write Feature Word
Quickstart:
Page 53
15.26.2.4 Script function dialog – Add Label
Quickstart:
Page 54
15.26.2.5 Script function dialog – Add Rectangle
Quickstart:
Page 55
15.26.2.6 Script function dialog – Add Circle
Quickstart:
Page 56
15.26.2.7 Script function dialog – Add Crosshair
Quickstart:
Page 57
15.26.2.8 Script function dialog – Calculate Distance
Quickstart:
Quickstart:
Page 58
15.26.2.10 Script function dialog – Line Segment From Points
Quickstart:
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
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
Page 60
15.26.2.13 Script function dialog – Write QLS Result
Quickstart:
Inspection Item – Select the inspection item name from the list
Concern – Select the concern from list or update it conditionally from the script
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.
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
If Use Same Exposure for All images is selected, the tabs for Image 1, Image 2, etc. will not be visible
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
Common Features:
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
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)
Clicking the bottom drop-down will change the shape of the region
Page 67
20 Ether-Inspect Remote Interfaces
For all these interfaces, Ether-Inspect acts as the server and listens on the specified port.
Some parts of calibration must be done manually, such as setting the number of points and configuring the calibration
target finder (circle or pattern).
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
0 – Do Nothing
Page 68
100 – Compute N Point calibration
RMSError is the error of the N Point calibration fit. This will only be output if Command 100 is requested.
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;”
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;”
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;”
e.g. “APPNAME,Ether-Inspect;”
e.g. “APPVERSION,11.3.2;”
e.g. “INSTANCENUMBER,1;”
Camera_name (Datatype – string) – a valid camera name, please use the camera name returned from CAMERAS
command.
e.g. “CAMERATYPE,Virtual;”
e.g. “LOADJOB,true;”
Page 71
20.2.10 JobName – Get current job name as string
Request: “JOBNAME,{camera_name};”
e.g. “JOBNAME,DemoJobName;”
e.g. “JOBNAME,2;”
e.g. “GOLIVE,true;”
e.g. “GOAUTO,true;”
e.g. “GOMANUAL,true;”
Page 72
20.2.15 State – Get current state or camera
Request: “STATE,{camera_name};”
e.g. “STATE,Ready;”
e.g. “MODE,Manual;”
20.2.17 InputTags – This will return list of input tags configured for camera
Request: “INPUTTAGS,{camera_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};”
e.g. “OUTPUTTAGS,2,Tag4,Tag5;”
Tag_name (Datatype – string) – a valid tag name, please use INPUTTAGS to get list of input tag names
e.g. “INPUTTAGTYPE,double;”
Page 73
20.2.20 OutputTagType – Get data type of output tag
Request: “OUTPUTTAGTYPE,{camera_name},{tag_name};”
Tag_name (Datatype – string) – a valid tag name, please use OUTPUTTAGS to get list of output tag names
e.g. “OUTPUTTAGTYPE,int;”
Tag_name (Datatype – string) – a valid tag name, please use INPUTTAGS to get list of input tag names
e.g. “READINPUTTAG,12.36;”
Tag_name (Datatype – string) – a valid tag name, please use OUTPUTTAGS to get list of output tag names
e.g. “READOUTPUTTAG,54;”
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
e.g. “WRITETAG,true;”
Page 74
20.2.24 Exposure – Set or get camera exposure value
Request: “EXPOSURE,{camera_name},{index},{value};”
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
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;”
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
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;”
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
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};”
e.g. “MAXEXPOSURE,5;”
e.g. “ENABLEMULTIEXPO,true;”
e.g. “STARTC,1;”
e.g. “CAL,1;”
Page 76
20.2.31 EndC – End HandEye2D calibration and compute result
Request: “ENDC,{camera_name};”
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
http://server-name-or-ip:81/eiremote/v1/appname
http://server-name-or-ip:81/eiremote/v1/appversion
http://server-name-or-ip:81/eiremote/v1/instancenumber
http://server-name-or-ip:81/eiremote/v1/cameras
http://server-name-or-ip:81/eiremote/v1/showmulticam
Camera view can be changed to multi cam using this url request
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.
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.
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/trigger
It will trigger the camera and run inspection with current job
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.
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/triggerwithresult
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.
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/loadjob/{jobnumber}
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/jobname
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/jobnumber
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/liveacquire
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/goauto
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/gomanual
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/state
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/mode
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/output
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/inputtype
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/outputtype
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/readinput
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/readoutput
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/tags/{tagname}/write/{value}
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/exposure/{exposurenumber}/get
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/exposure/{exposurenumber}/set/{value}
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/contrast/{contrastnumber}/get
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/contrast/{contrastnumber}/set/{value}
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/brightness/{brightnessnumber}/get
Page 80
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/brightness/{brightnessnumber}/set/{value}
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/maxexposurecount
http://server-name-or-ip:81/eiremote/v1/cameras/{cameraname}/enablemultipleexposures/{value}
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/
http://localhost/v*/list
http://localhost/v*/svg/{CameraName}
http://localhost/v*/png/{CameraName}
http://localhost/v*/html/{CameraName}
http://localhost/v*/{CameraName}
http://localhost/v*/detail/{CameraName}
http://localhost/v*/master/{CameraName}
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
</VisionLineJobs>
“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};”
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
Response: Ether-Inspect will return the current status. String format - “{IPSTATERESP} {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
Page 84