User Guide
Part 1: Getting started
About Matrox Design Assistant help
Welcome
Help tips
Printing
Navigating
Contacting customer support
Copyrights, acknowledgments, and patent notices
Copyright
Acknowledgments
Patent notice
Liabilities and disclaimers
Chapter 1: Introduction
Introducing Matrox Design Assistant
Using Matrox Design Assistant
Design-time and runtime
Matrox Design Assistant steps and flowchart features
Licenses
Design-time license versus runtime license
Managing license packages
With a PC runtime platform
Provisional licenses
30-day design-time and runtime license
1-year design-time license
30-day temporary license
Outline of the User Guide
Terminology
Chapter 2: Building a project
Building a project overview
Connecting to a runtime platform
Runtime platform components
How to connect to a runtime platform
Requirements to connect
Switching runtime platforms once connected to a runtime platform
Connecting with your local PC as your runtime platform
Connecting with a remote PC or Matrox smart camera as your runtime platform
Emulation mode
Creating, opening, or importing a project
Details about creating, opening, and importing
Loading projects from earlier versions of Matrox Design Assistant
Using the existing Matrox Design Assistant template projects
Cameras and your runtime platform
Allocating cameras on a PC runtime platform
Matrox Capture Assistant
Using the existing Matrox Design Assistant templates and example projects
Using external defaults in your project
Identifying cameras and changing the default allocation mode
Building the flowchart
General procedure
Generally interacting with flowcharts
Using the Configuration pane
Using the Quick Access pane
Flow control steps
Variables
Expressions
Subflowcharts
Recipes
Custom steps
Techniques for running the flowchart and accessing results
Debug buttons
Quick Watch flyout panel and callout annotations
Quick Evaluate pane
Camera Images pane
Find pane
Quick Run mode
Step Log pane
Execution Messages pane
Results pane
Cameras and images
Camera step
Analysis steps and the image they use
Initial platform settings
Setting up your physical camera
Using a Matrox smart camera with no trigger
Using a Matrox smart camera with a hardware trigger
Using a GigE/USB3 Vision camera with no trigger
Using a GigE/USB3 Vision camera with a direct hardware trigger
Initiating a grab
Links to more information
Display features during design-time
Zooming
Display status bar
Annotations
Displaying a step's images
Display graphs
Displaying images with more than 8-bits
Displaying images using a colormap
Real-world units and fixtures
Calibration
Fixturing
An example of calibration and fixturing
Search regions
Defining search regions
Dealing with color images
Generally working with color
Color matching
Status step
Events and actions
Action points
Inspection start and inspection end (main inspection loop)
Adding other action points
When actions occur
Operator view events
Types of actions
Operator view publishing
PLC handshake
Subflowchart execution
Specifying reset points for variables and step outputs
Reset points for variables
Reset points for step outputs
Inspection labels
Types of inspection labels
Creating new inspection labels
Manage Inspection Labels dialog
Communication
Testing and debugging a project
Testing and debugging tips
Testing event-driven actions
Viewing action lists
Viewing currently executing actions or pending actions
Forcing the execution of a subflowchart that runs upon an event
Setting up the operator view
Deploying and running your project
Deploy to platform
Files downloaded during deployment
Recipes and persistent data
Starting a project from outside Matrox Design Assistant
Kiosk mode
Preventing runtime errors
Using the Matrox Design Assistant configuration portal
Accesing the Matrox Design Assistant configuration portal
Managing projects on your runtime platform
Network folders and persistent connections with a supported Matrox smart camera
Part 2: Processing and analysis steps
Chapter 3: BlobAnalysis step
BlobAnalysis step overview
Procedure for using the BlobAnalysis step
Grab or load an image
Configure settings
Thresholding
Select the features
Filters
Use the results of the previous step
Creation of an output image
BlobAnalysis step features
Area and perimeter
Contact points
Feret dimensions
Included/Excluded
Shape
Statistics
Intercept
Moments
Axis
BlobAnalysis step advanced settings
Connectivity
Gray image modes
Identification modes
Creating a labeled blob image
Accessing BlobAnalysis step results
Chapter 4: CodeReader step
CodeReader step overview
When is preprocessing required?
Procedure for using the CodeReader step
Select the code type to be read
Code types that support GS1
Modify the expected angle range
Modify the threshold setting with regards to lighting
Modify the distortion correction method
Specify the search region
Fine-tuning your read
Code type specific information
Hints
Initialization mode
Results
Technical code information
Chapter 5: CodeGrade step
CodeGrade step overview
General guidelines for code grading
Attributes that can be graded
Procedure for using the CodeGrade step
Link the CodeGrade step to a CodeReader step in the flowchart
Specify a grading standard
Specify the search region
Modify the aperture settings
Specify an extended area reflectance check
Calibrate the setup for grading
Use approximate calibration settings if necessary
Calibrate for the ISO (print) standard
Calibrate for the AimDPM (direct part marking) standard
Accessing CodeGrade step results
Chapter 6: EdgeLocator step
EdgeLocator step overview
Procedure for using the EdgeLocator step
Specify the search region
Adjust the search settings: polarity, edge fit, smoothing, and number of sub-regions
Enable angle mode
Chapter 7: Measurement step
Measurement step overview
Typical uses of the Measurement step
Procedure for using the Measurement step
Define the markers
Number of marker occurrences
Marker characteristics
Circle marker sub-regions
Edge and stripe marker sub-regions
Angular search settings
Efficiently working with multiple markers
Measurement step advanced constraints
Advanced constraints overview
Available advanced constraints
Using contrast
Advanced constraint examples
Measurement step advanced concepts
Search algorithm
Identifying edges
First derivative filter
Accessing Measurement step results
Chapter 8: BeadInspection step
BeadInspection step overview
Procedure for using the BeadInspection step
Training image
Training in the presence of nearby stripes
Adding a template and defining its initial points
Modifying a template
General settings
Training settings
Inspection settings
Fixture
Link the location of the fixture
Accessing BeadInspection step results
Annotations
Chapter 9: ImageProcessing step
ImageProcessing step overview
Procedure for using the ImageProcessing step
Viewing intermediate results
Viewing source and destination images
Specifying a region
Defining a region interactively
Images and calibration
Processing color images
Common tasks using the ImageProcessing step
Preprocessing
Removing spots
Removing reflections
Removing the background
Removing clutter
Sharpening
Improving contrast
Segmentation
Making a mask
Superimposing
TwoBands
AlphaBlend
Stitching
Accumulating for a temporal filter
Color conversion
Color projection
Color distance
Band difference
Geometry and shape changing
Aligning
Simple aligning
Complex aligning
Calculating differences
Inner and outer offset
Bit size conversion
ImageProcessing step operations
Filtering
Sharpening, smoothing, and edge detection
IIR filters
FIR filters
User-defined kernels
Arithmetic
Logic
Geometric
Threshold
PolarTransform
LutMap
Copy and Convert
Color
Distance
Projection
Morphology operations
Examples
Chapter 10: IntensityChecker step
IntensityChecker step overview
Procedure for using the IntensityChecker step
Accessing IntensityChecker step results
Chapter 11: ColorMatcher step
ColorMatcher step overview
Color identification
Supervised color segmentation
Match regions
Color-samples
Matching color-samples and match regions
Procedure for using the ColorMatcher step
Color-samples and match regions
Main settings
Match settings
Output images
Settings of the output images
ColorMatcher step advanced concepts
Color spaces
RGB
HSL
CIELAB
Bands input
Color distance
Euclidean distance
Manhattan distance
Mahalanobis distance
Delta-E distance
Advanced CIE distance types
Choosing a distance type
Color tolerance
Match strategy
Areas
Pixels
Histograms
Distance normalization
Accessing ColorMatcher step results
Basic results
Match score and area relevance score
ColorMatcher step results
Reading the Quick Watch flyout panel
Linking to results
Reading the Results pane
Reading the result Link Tree in the Quick Evaluate pane
Chapter 12: PatternMatching step
PatternMatching step overview
Procedure for using the PatternMatching step
Load or grab a model source image
Define the model
Define a search region
PatternMatching step advanced settings
Defining a mask region
Specify an angular range
Summary of algorithm for angle search
Setting the Search Levels
Setting a Master model
Search using the SpecificSearch mode
Accessing PatternMatching step results
Chapter 13: ModelFinder step
ModelFinder step overview
Procedure for using the ModelFinder step
Define models
CAD-file synthetic models
ModelFinder step settings
Search settings available for all Finder steps
Edge extraction settings
General search settings
Advanced search settings
Advanced search settings specific to the ModelFinder step
Algorithmic search strategies
Specific search mode
Accessing ModelFinder step results
Determining what is a match
Score and Target score
Model and target coverage
Fit error
Interpreting results
Separation and shared edges
Separation
Shared edges
Chapter 14: CircleFinder step
CircleFinder step overview
Procedure for using the CircleFinder step
Define a circle model
CircleFinder step settings
Sagitta tolerance
Reconfiguring the shape definition at runtime
Chapter 15: EllipseFinder step
EllipseFinder step overview
Procedure for using the EllipseFinder step
Define an ellipse model
EllipseFinder step settings
Aspect ratio and search constraint
Chapter 16: RectangleFinder step
RectangleFinder step overview
Procedure for using the RectangleFinder step
Define a rectangle model
RectangleFinder step settings
Deviation tolerance
Chapter 17: SegmentFinder step
SegmentFinder step overview
Procedure for using the SegmentFinder step
Define a line segment model
SegmentFinder step settings
Consistent gradient
Chapter 18: Metrology step
Metrology step overview
Procedure for using the Metrology step
Add features
Add geometric tolerances
Reference frames
Constructed features
Selecting base features
Using the Project toolbar and Construction control panel
Using the Construction control panel
Using the Configuration pane
Modifying base features
Examples
Feature construction in detail
Constructed features using fit operations
Base features of a constructed arc feature
Base features of a constructed circle feature
Base features of a constructed segment feature
Base features of a constructed line feature
Base features of a constructed point feature
Base features of constructed edgel features
Parametric features
Adding a parametric line
Geometric tolerances
Using the Project toolbar
Using the Configuration pane
Setting an angularity tolerance
Using multiple geometric tolerances
(Physically) measured features
Point feature
Segment feature
Search region
Best fit, inner fit, and outer fit operations
(Physically measured) edgel features
Reference frame
Using fixtures from other steps to define a reference frame
Local frame
Customizing edge extraction
Polarity
Smoothing
Advanced smoothing
Data angle tolerance
Thresholding
Edgel selection rank
Advanced fit
Active edgels and fitted edgels
Maximum fit distance
Maximum number of fit iterations
Minimum fit coverage
Maximum fit variation
Accessing Metrology step results
Annotations
Chapter 19: StringReader step
StringReader step overview
Procedure for using the StringReader step
Import an existing or create a new String Reader context
Adjust the overall settings
Adjust the string model specific settings
Adjust the font specific settings
StringReader step scores
Character acceptance, homogeneity, and similarity score
String acceptance and certainty score
String target acceptance and certainty score
Scale factor
Aspect ratio
Creating and testing a context using the MIL String Reader Interactive Utility
Create or open a new context
Add a font
Add a string model
Define a search region
Set the number of strings to read
Preprocess and read
Viewing results
Using String Expert
Accessing StringReader step results
String formatting
Chapter 20: SureDotOCR step
SureDotOCR step overview
Procedure for using the SureDotOCR step
Adjust the overall read settings
Define fonts
Define strings to read
Reading partial strings
Define spaces
Space constraint
Intensity and contrast
Acceptance and certainty
Fonts
Content of SureDotOCR font files
Accessing SureDotOCR step results
String formatting
Character results
Chapter 21: PhotometricStereo step
PhotometricStereo step overview
Procedure for using the PhotometricStereo step
Grab or link images
Output images
Remap factor
Light vector type
Lighting elements
Non-uniformity correction
Timeout
Additional control settings
Shape smoothness
Normalization
Object size
Inverting the grayscale values
Output image types
Photometric stereo registration of a moving object
Chapter 22: CNNClassIndex step
CNNClassIndex step overview
Procedure for using the CNNClassIndex step
Import a pretrained CNN
Modify general classification settings
View your results
Part 3: Flowchart control, expressions, and variables
Chapter 23: Flow control steps
Flow control steps overview
Procedure for using the Break step, Condition step, and Continue step
Procedure for using the Loop step
Procedure for using the Halt step
Procedure for using the Switch step
Procedure for using the Status step and Error step
Conditions and the Status step
Catching and throwing exceptions
Error step
Catching exceptions in flowcharts with conditions and loops
Multiple Status steps
Runtime error handling
Chapter 24: Subflowcharts
Subflowcharts overview
Adding subflowcharts
Configuring a subflowchart
A subflowchart's inputs (parameters) and outputs
Inputs
Outputs
Linking to other flowcharts
Event-triggered subflowcharts
Managing subflowcharts
Transferring subflowcharts
Sharing subflowcharts using libraries
Transferring subflowcharts to another project
Transferring subflowcharts to another computer
Copying subflowcharts from a library
Chapter 25: Variables and the Store step
Variables overview
Procedure for adding and managing variables
Add a variable
Bind a variable to the operator view
Set variables with the Store step
Using variables in expressions
View a variable's value(s)
Lifetime
Lifetime
Chapter 26: Building expressions
Building simple expressions
Building complex expressions
Hints for working with complex expressions
Sub-expressions
Chapter 27: Using arrays
Arrays overview
Types of arrays
Arrays as variables
Array size
Adding values to an array
Array operations
Referencing array elements
Using object arrays
Object array variables
Sub-arrays
Using point arrays
Array operator
Array functions
Optional parameters
Nesting functions
Array function keywords
Displaying and logging arrays
Advanced examples
Using the array operator when quantizing results
A comprehensive example
Part 4: Image steps and repository
Chapter 28: Acquisition
Acquisition overview
Procedure for using the Camera step
Adding a camera to your project
Set the source of the Camera step
Manually adjust the camera's lens
Using a continuous or triggered grab
Associate a calibration file with the Camera step
X/Y calibration
Z calibration
Remapping
Accessing the Camera step's outputs
Triggering
Common trigger settings
Triggering from a hardware signal
Triggering from a software trigger
Procedure for using the Trigger step to initiate a grab
Using a PLC trigger with Quick Comm (EtherNet/IP or PROFINET)
Using a PLC trigger without Quick Comm
Triggering from a periodic trigger
Handling other requests while waiting for a trigger
Grab timing
Queuing images
Multi-buffering with image queues
Grabbing at design-time
Continuous grab mode with image queues
Trigger speed
Camera outputs related to grab timing
Platform settings for your camera
Camera defaults
PhysicalCameraN page on the Platform Configuration dialog
Changing the camera's inputs
Changing settings directly on a GigE/USB3 Vision camera
Changing the acquisition settings at runtime
Changing the camera and trigger source
Stopping the grab
Configuring the CameraSettings step
Using multiple cameras
Grabbing with the Matrox Advanced I/O Engine
Simultaneous grabbing
Staggered grabbing
Grabbing without the Matrox Advanced I/O Engine
Grabbing multiple images using a PLC trigger without Quick Comm
Chapter 29: Acquisition using image sets
Image sets overview
Procedure for configuring image sets
Adding and configuring an image set
Design-time folder and runtime folder paths
Numbered image files
Sequence file
Recipes
Using the camera outputs relating to image sets
Chapter 30: Calibration
Calibration
Defining new calibrations
Managing multiple calibrations in one or more platforms
Calibration in emulation mode
Procedure for using the Calibration step
Scale method
ListOfPoints method
ListOfPointsFromArray method
Grid method
Grid requirements
Choosing a calibration mode
Using multiple calibrations
Using results
Chapter 31: White balance
White balance overview
Procedure for creating white balance settings
Procedure for using the WhiteBalance step
Chapter 32: Fixturing
Fixturing overview
Fixturing in an analysis step
Using a single model occurrence as a fixture
Using blobs or edges as fixtures
Using different fixtures from multiple occurrences
When to use the Fixture step
When an analysis step does not support fixtured regions
Reference frame annotations
Calibration and fixturing
Procedure for using the Fixture step
Creating a fixture
Offsetting a fixture
Output coordinate system
In a Metrology step
In other analysis steps
In any other case
Transforming from one coordinate system to another
Using TRANSFORMCOORDINATES and accessing individual coordinates
Passing the source point as a point object
Passing the source point in a point array
Chapter 33: ImageWriter step
ImageWriter step overview
Default folder
Sidecar file
Procedure for using the ImageWriter step
ImageWriter step annotations
Chapter 34: ImageCorrection step
ImageCorrection step overview
Procedure for using the ImageCorrection step
Correction mode and size when outputting the whole image
Chapter 35: Static images
Static images overview
Using static images
Chapter 36: LoadImage step
LoadImage step overview
Procedure for using the LoadImage step
Image source
LoadImage options
LoadImage in emulation mode
Calibrating loaded images
Updating the calibration file for a loaded image
Part 5: 3D
Chapter 37: Acquisition with third-party sensors
Acquisition with third-party sensors overview
Chapter 38: Working with depth maps
Working with depth maps overview
Procedure for using a depth map
Remapping
Setting the Z-range
Filling gaps
Display options
Line profiles and histograms for depth maps
Processing and analysis of depth maps
Saving
Accessing camera depth map results
Calculating volume
Part 6: Communication steps
Chapter 39: Communication overview
Communication methods
Communications dropdown panel
Going offline
Waiting for inputs
Portal pages for monitoring communication
EtherNet/IP
PROFINET
Modbus
I/O
Communication settings
Communication settings action (operator view button)
CommSettings step
Chapter 40: IO steps
IO steps overview
Support for I/O
Projects with discrete I/O
Procedure for using the I/O steps
Configuring I/O pins
Procedure for using the IOReader step
Converting pin values to numbers
Procedure for using the IOWriter step
Changing the I/O settings at runtime
Using I/O steps with GigE/USB3 Vision cameras
Configuring your I/O signals
Using I/O with a minimally-compliant camera
Matrox Advanced I/O Engine
Timers
Changing a timer's settings at runtime
Rotary decoders
I/O command lists
Command list latches and reading their value with a TimeStamp or PositionStamp step
Scheduling I/O commands
Scheduling I/O commands using rotary encoders
Using an input to automatically generate a delayed pulse on output
Grab synchronization with a reference stamp
Outputting a pulse train upon receiving an input signal
I/O Examples
Automatically grabbing an image when the conveyor belt is at a given position example
Parts traveling along a conveyor belt that are fixed in spacing example
Different parts traveling along a conveyor belt that are ejected by different devices example
Parts traveling along a conveyor belt that are not fixed in spacing example
Chapter 41: Quick Comm protocol and PROFINET and EtherNet/IP steps
Overview
Procedure for communicating with controllers
Enabling the PROFINET and EtherNet/IP protocol service
Quick Comm with PROFINET and EtherNet/IP
Status and control handshake
Set Quick Comm to trigger acquisition automatically
Sending and receiving data
DataToPLC and DataFromPLC data tables
Application-specific values written to the DataToPLC data table
Application-specific values read from the DataFromPLC data table
Configuring actions and events
Subflowchart execution events
Custom handshake actions
Setting up for PROFINET
Assigning a static IP address
Configuring the PLC
Data tables in PROFINET
Setting up for EtherNet/IP
Allen-Bradley
Omron
Data tables in EtherNet/IP
Chapter 42: Modbus steps
Modbus steps overview
Modbus data tables
Procedure for communicating with Modbus
Setting up communication with Modbus
Configuring the PLC
Configuring the runtime platform
Enabling Modbus in the Platform Configuration pane
Using the ModbusReader step
Accessing ModbusReader results
Using the ModbusWriter step
Modbus data configuration
Modbus data fields
Register number consistency across Modbus devices and standards
Modbus example
Chapter 43: Network steps
Network steps overview
Procedure for using the NetworkConnection step
Network Client configuration
Connection verification and troubleshooting
Procedure for using the NetworkWriter step
Procedure for using the NetworkReader step
Chapter 44: SerialPort steps
SerialPort steps overview
Multiple COM ports
Procedure for using the SerialPortSetup step
Procedure for using the SerialPortWriter step
Specify the text
Control characters
Acknowledgment
Procedure for using the SerialPortReader step
Chapter 45: Robot steps
Robot steps overview
Programming robot controllers
Adding and configuring robot controllers
Sample robot flowchart
Alternative uses for the 8 values of the RobotWriter and RobotParameters steps
Orientation conventions
Procedure for using the RobotWriter step
Procedure for using the RobotWait step
Procedure for using the RobotParameters step
Part 7: Utility steps
Chapter 46: Counter step
Counter step overview
Chapter 47: TextReader and TextWriter steps
TextReader step overview
Procedure for using the TextReader step
Operations
Accessing results
Processing strings
Error handling and complex expressions
Reading CSV files
Handling unexpected formatting
TextWriter step overview
Procedure for using the TextWriter step
Operations
Avoiding errors when accessing results
Generating text using expressions
Verifying the output of expressions
Formatting numeric results
Converting arrays to strings
Using control characters
Accessing the date and time
Writing inspection results to a CSV file
Chapter 48: TimeStamp step
TimeStamp step overview
Perform a benchmark
Get a string representation of a timestamp
Using the step as a timing reference
Chapter 49: DeleteFiles step
DeleteFiles step overview
Deleting folders
Part 8: Interfacing with the operator view
Chapter 50: Customizing the operator view
Customizing the operator view overview
Page structure
Operator view templates and the default view
Operator view grid layout
Grid, cell, and element selection
Adding a row or column
Moving or adjusting cells and grids
Merging cells
Adjusting the size of cells
Styles and formatting
Elements
Adding an element
Data output elements
Input elements
Static elements
Configuring input elements
General properties
Binding
Conditionally enabling an input element
Execute flowchart
Automatic submit
Configuring a CheckBox element
Configuring a DropDownList or ListBox element
Configuring a RadioButton element
Configuring a TextBox element
Configuring a ToggleButton element
Buttons
Flowchart actions
Execute Flowchart
Set Variable
Reset Counters
Submit Data
Set Execution Control
Platform actions
Send Software Trigger
Set Camera Source
Change Image Set Settings
Change Camera Settings
Communication Settings
Operator view actions
Navigate page
Reset Filmstrip
Zoom Display
Increment and Decrement TextBox
Configuring output elements
Configuring a PassFail element
Configuring a Value element
Hints for displaying a table of results
Displays
Configuring a Display element
Adding an annotation to a Display element
Labels
User-defined annotations
Coordinate system
Replicated shapes
Setting annotation color
Fixed color for annotations
Dynamic color for annotations
Editable annotations and binding
Filmstrip
Structure and memory resources
History elements
Controlling what gets saved and displayed
How to specify when inspection results are saved
How to specify when inspection results are displayed
When inspection labels are applied to an inspection result
Examples of specifying inspection labels
Freeze Mode
Label Constraints
Interacting with the Filmstrip
Controlling when data is sent to the operator view
Maximum update rate
When to change the defaults
Publishing groups
Managing update points
Updating and clearing display annotations
Multiple operator views
Types of operator views
Creating multiple operator views
External View
Managing your operator views
Navigating between operator views
During design-time
During runtime
Access rights to a project's operator views
Logging out
Controlling image acquisition from the operator view
Switch between camera or disk example
Setting up the example
Selecting the camera or image settings
Advanced UI design
Testing and debugging operator views at design-time
Using initial and current values
Simulating button clicks
Currently debugging flowchart
Chapter 51: OperatorInputs step
OperatorInputs step overview
Procedure for using the OperatorInputs step
Chapter 52: Navigate step
Navigate step overview
Procedure for using the Navigate step
Chapter 53: Advanced customization
Customizing the Notification bar
Wait banner
Part 9: Dealing with product variations
Chapter 54: Switching products to inspect
Strategies for inspecting product variants
Using recipes
Using text and spreadsheet files
Using the Switch step
Using hybrid strategies
Chapter 55: Recipes
Recipes overview
Best practices for working with recipes
Recipes at design-time
Creating and deleting recipes
Setting values to be recipe-dependent
Removing recipe-dependence
Recipe names and IDs
Modifying recipes
Deploying your project
Importing and synchronizing recipes from your runtime platform
Recipe subfolders for image sets
Setting up an operator view to manage recipes
Saving persistent data when switching recipes
CreateRecipe step
LoadRecipe step
DeleteRecipe step
Avoiding broken links in recipe steps
Preventing broken links
How links become broken
Example of breaking a link in a recipe
Repairing broken links
Chapter 56: Reconfigure step
Reconfigure step overview
Persistence
Reconfiguring items in a collection
Changing a model image or mask
ModelFinder models
PatternMatching
Chapter 57: Persistence
Persistence and the SavePersistentData step
When persistent data is saved
Modifying persistence
Re-deploying projects with persistent data
Resetting persistent counters
Using the Reconfigure step
Chapter 58: ProjectSwitcher step
ProjectSwitcher step overview
Using the ProjectSwitcher step
Part 10: Runtime issues and project change validation
Chapter 59: Optimizing your runtime projects
Web server
Update timing
Optimizing loop time
When grabbing
Analysis and Processing steps
Operator view
Other
Memory usage
Grab buffers
Grabbed image queue
Increasing non-pooled memory for high resolution or color cameras
Flowchart image buffers
Profiling and troubleshooting logs
Generating a new trace file
Procedure for generating a trace file on a PC runtime platform
Procedure for generating a trace file on a Matrox smart camera
Reading a trace file
Interactive log
Chapter 60: Running multiple projects on a runtime platform
Running multiple projects on a runtime platform overview
Considerations when running multiple projects simultaneously
Camera allocation
Templates and example projects
Auxiliary I/O signals and related resources
Typical I/O tasks
Using platform I/Os to synchronize capture and reference stamps
Communication protocols
Instances of the protocol service
Example of multiple projects communicating with a PLC
Developing multiple projects to run simultaneously
Modifying settings while projects are running
Multiple cameras
Performance
Chapter 61: Security
Access control
Deploying a project in kiosk mode
Setting access rights for operator views
Encrypting and locking a project
Encrypting a project
Locking a project
Deploying a project with a lock key
Setting or removing the lock key
Chapter 62: Project Change Validator
Project Change Validator overview
Procedure for using the Project Change Validator
Accessing and setting up the Project Change Validator
Validation server
Validation set
Recording and creating a validation set
Reduce what is recorded for validation
Requesting validation and reviewing validation reports
Monitor for validation
Validation report
Validation from PLC
Validation fields (bits)
Validation error messages
Part 11: Appendices
Appendix A: Expression syntax
Data types
Numbers
Strings
Escape sequences
Inline expressions
String arrays
Formatting codes
Booleans
Objects
Steps
Constants
Sub-expressions
Operators
Functions
Links
Constant links
Comparisons
Numerical comparisons
String comparisons
Object comparisons
Cascade comparisons
User-defined date/time and number formats
Specifying a path
Runtime platform versus development computer
Rules when specifying a path
Network paths
Acquiring permission to a network folder
File extensions
Appendix B: Installation information
Minimum requirements
Software requirements for Matrox Design Assistant Help
Additional notes
Installation
Multiple versions of Matrox Design Assistant
Useful references
Appendix C: Troubleshooting
Issues with a PC platform
Runtime environment is locked to another user
A runtime component stopped working
Issues with operator views
Issues with portal pages
Issues with GigE acquisition
GigE/USB3 Vision camera inputs, outputs, or triggers are not visible in Matrox Design Assistant
Difficulty allocating a GigE/USB3 Vision camera
GigE/USB3 Vision camera generates incomplete or dropped images
Appendix D: Matrox Iris GTR
Connecting to your Matrox Iris GTR as your runtime platform
More information
Acquisition overview
Platform settings for your camera
Deploying and running your project on your Matrox Iris GTR
Reading and writing files on your Matrox Iris GTR
Acquiring permission to a network folder
LoadImage step
ImageWriter and TextWriter steps
Grab and auxiliary I/O overview
Enabling auxiliary I/Os
Additional auxiliary input signal settings
Connecting auxiliary outputs to a generic light
Additional auxiliary output signal settings
Additional initial camera settings
Lighting control from the camera
Camera focus
Calibration and white balancing
Communication with Matrox Iris GTR
Using the Matrox Iris GTR desktop
Connecting to your desktop directly
Connecting remotely using VNC
What's on the desktop
Configuring Matrox Iris GTR for static IP addressing
Connecting to the desktop of your Matrox Iris GTR
Using the portal page of your Matrox Iris GTR
Using the Matrox Iris GTR Discovery utility on your development computer
Opening additional ports on Matrox Iris GTR
Matrox Iris GTR licensing
Portal pages of your Matrox Iris GTR
Deleting projects on your runtime platform
Matrox Iris GTR tools
Matrox Iris GTR desktop display
Generating a performance trace
Matrox Iris GTR Discovery utility
Appendix E: Matrox Indio
Matrox Indio overview
Advanced I/O Engine
Network interface
Adding a Matrox Indio system to your project
Adding a Matrox Indio system to the Systems page
Configuring I/O signals
Matrox Indio Advanced I/O Engine
Synchronizing across multiple Matrox Indio boards
Single camera example with synchronized Matrox Indio boards
Multiple camera example with synchronized Matrox Indio boards
Network Interface
Expression Reference - functions, keywords, operators
ARITHMETIC
Operator: +
Operator: /
Operator: MOD
Operator: *
Operator: ()
Operator: -
ABS
CEILING
EVEN
EXP
FLOOR
LOG
LOG10
MAX
MIN
ODD
POWER
ROUND
SIGN
SQRT
ARRAY
Keyword: Index
Keyword: Item
Keyword: ItemCount
Keyword: SubIndex
Keyword: SubItem
Keyword: SubItemCount
Operator: []
ALL
ANY
ARRAYTOSTRING
AVERAGE
CONTAINS
COUNT
CUMULATIVESUM
DISTINCT
ELEMENTAT
FILTER
FLATTEN
INDEXOF
LASTINDEXOF
LOOKUP
MAX
MIN
ORDERBY
ORDERBYDESC
RANGE
REPEAT
REVERSE
SELECT
SKIP
SKIPWHILE
STDEV
SUM
TAKE
TAKEWHILE
BINARY
Operator: BAND
Operator: BNOT
Operator: BOR
Operator: BXOR
Operator: <<
LOGIC
Operator: AND
Operator: =
Operator: <
Operator: <=
Operator: NOT
Operator: OR
Operator: XOR
GREATEROREQUALW
INRANGE
INRANGEW
LESSOREQUALW
OUTOFRANGE
OUTOFRANGEW
PASSWARNCONDITION
MISCELLANEOUS
Keyword: Fail
Keyword: False
Keyword: Flowchart
Keyword: Flowcharts
Keyword: OperatorViews
Keyword: Pass
Keyword: Platform
Keyword: True
Keyword: Variables
Keyword: Warning
CHECKVALID
COLOR
CURRENTPROJECT
CURRENTRECIPE
CURRENTRECIPEID
DATETIME
DAVERSION
FIXTURE
FIXTUREARRAY
FREESPACE
GETSTEP
HOSTNAME
IF
IMAGE
IPADDRESS
ISNUMERIC
ISONLINE
ISVALID
LISTFILES
MACADDRESS
PATH
POINT
POINTARRAY
RECIPEIDFROMNAME
RECIPEIDS
RECIPENAMEFROMID
RECIPES
TONUMERIC
TOSTRING
TOTALSPACE
STRING
Operator: {}
COMPARESTRING
CONCAT
CONTAINSSTRING
ENDSWITH
INDEXOF
INDEXOFANY
INSERTSTRING
LASTINDEXOF
LASTINDEXOFANY
LENGTH
PADLEFT
PADRIGHT
REMOVESTRING
REPLACESTRING
SPLITSTRING
STARTSWITH
STRINGTONUMERIC
SUBSTRING
TOLOWER
TOUPPER
TRIM
TRIMEND
TRIMSTART
TRIGONOMETRIC
Keyword: PI
ACOS
ANGLE
ASIN
ATAN
ATAN2
COS
COSH
DISTANCE
SIN
SINH
TAN
TANH
TRANSFORMCOORDINATES
TRANSFORMZ
User Interface Reference
Interface overview and documentation conventions
Interface overview and documentation conventions
Labeled example of the interface
Panes
Menu conventions
Tree structure
Modal dialogs
Alternate options button
Apply multiple dialog
Flowchart view
Understanding symbols and visual indicators
Selecting and running a step
Current or last step executed
Selected step
Display updates
Stopping at inspection end
Wait notification bar
Manipulating, renaming, commenting, and disabling steps
Selecting, moving, and copying steps
Renaming and commenting steps
Disabling steps
Using context menus
Flowchart context menu
Flowchart Step context menu
Using Quick Run mode
When to use Quick Run mode
Advanced features of Quick Run mode
Navigating subflowcharts
Interacting with the Wait notification bar
Go to element
Using different views
Changing the default view
Zooming
Printing
Display view
Annotations
Using the Quick Watch flyout panel and callout annotations
Details about the Quick Watch flyout panel
Drag and drop results from the Quick Watch flyout panel to generate links
Visibility of callout annotations
Advanced uses of the Quick Watch flyout panel
Displaying a step's images
Steps with optional images
Steps without an input image
Displaying multiple images
Using the display graphs
General features for all display graphs
Line Profile graph
Histogram graph
Edge Values graph
Displaying images with more than 8-bits
Autoscale
Bit shift
Lower 8 bits
Remap
Displaying images using a colormap
Depth map colormaps
Panes and editors
Panes overview
Using panes
Configuration pane and editors
Using the Simple editor
Using the Link editor
Using the Advanced editor
Advanced editor and syntax errors
Advanced editor and runtime errors
Advanced editor and the Operator View Layout tab
Advanced editor and number formatting
Camera Images pane
Camera source
Images in the Camera Images pane
Running on a subset of images
Inspection label displayed for each image
Errors pane
Execution Messages pane
Find pane
Interface Actions pane
Properties pane
Quick Access pane
Quick Evaluate pane
Displaying multiple images
Expressions
Recipes pane
Layout of the recipe pane
Compare recipes
Add/Delete/Synchronize
Results pane
Annotative results
Numerical results
Step Log pane
Toolbars and toolbar buttons
Project toolbar
Debug toolbar buttons
General toolbar buttons
General processing and analysis toolbar buttons
Step specific toolbar buttons
BeadInspection step-specific toolbar buttons
Camera step-specific toolbar buttons
ColorMatcher step-specific toolbar buttons
Finder steps step-specific toolbar buttons
Fixture step-specific toolbar buttons
ImageProcessing step-specific toolbar buttons
Measurement step-specific toolbar buttons
Metrology step-specific toolbar buttons
ModelFinder and PatternMatching step-specific toolbar buttons
SureDotOCR step-specific toolbar buttons
Platform toolbar
Camera Images Pane toolbar
Navigation toolbar
Operator View Layout toolbar
Platform Configuration dialog
Platform Configuration dialog
Pages in the Platform Configuration dialog
Readme
Readme
Introduction to Design Assistant X
Introduction to Design Assistant 5.0
Getting started with Matrox Iris GTR
Matrox IrisGTR Upgrade Procedure
Upgrading Projects from DA 5 to Design Assistant X
Upgrading Projects from Design Assistant 4.0 to 5
LMI Gocator with Matrox Design Assistant
Photoneo PhoXi with Matrox Design Assistant
Wenglor weCat3D with Matrox Design Assistant
Zivid One with Matrox Design Assistant