Thank you for purchasing our robot products. This manual contains the information
necessary for the correct use of the EPSON RC+ software.
Please carefully read this manual and other related manuals when using this software.
Keep this manual in a handy location for easy access at all times.
The robot and its optional parts are shipped to our customers only after being subjected
to the strictest quality controls, tests and inspections to certify its compliance with our
high performance standards.
Product malfunctions resulting from normal handling or operation will be repaired free
of charge during the normal warranty period. (Please ask your Regional Sales Office
for warranty period information.)
However, customers will be charged for repairs in the following cases (even if they
occur during the warranty period):
1. Damage or malfunction caused by improper use which is not described in the
manual, or careless use.
2. Malfunctions caused by customers’ unauthorized disassembly.
3. Damage due to improper adjustments or unauthorized repair attempts.
4. Damage caused by natural disasters such as earthquake, flood, etc.
Warnings, Cautions, Usage:
1. If the robot or associated equipment is used outside of the usage conditions
and product specifications described in the manuals, this warranty is void.
2. If you do not follow the WARNINGS and CAUTIONS in this manual, we
cannot be responsible for any malfunction or accident, even if the result is
injury or death.
3. We cannot foresee all possible dangers and consequences. Therefore, this
manual cannot warn the user of all possible hazards.
ii Vision Guide 5.0 Reference (Ver.5.3) Rev.1
TRADEMARKS
Microsoft, Windows, Windows logo, Visual Basic, and Visual C++ are either
registered trademarks or trademarks of Microsoft Corporation in the United States
and/or other countries.
Other brand and product names are trademarks or registered trademarks of the
respective holders.
TRADEMARK NOTIFICATION IN THIS MANUAL
Microsoft® Windows® XP Operating system
Microsoft® Windows® Vista Operating system
Throughout this manual, Windows XP, and Windows Vista refer to above respective
operating systems. In some cases, Windows refers generically to Windows XP, and
Windows Vista.
NOTICE
No part of this manual may be copied or reproduced without authorization.
The contents of this manual are subject to change without notice.
Please notify us if you should find any errors in this manual or if you have any
comments regarding its contents.
INQUIRIES
Contact the following service center for robot repairs, inspections or adjustments.
If service center information is not indicated below, please contact the supplier office
for your region.
Please prepare the following items before you contact us.
- Your controller model and its serial number
- Your manipulator model and its serial number
- Software and its version in your robot system
- A description of the problem
SERVICE CENTER
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 iii
MANUFACTURER & SUPPLIER
TEL : +81-(0)266-61-1802
FAX : +81-(0)266-61-1846
Japan & Others
SEIKO EPSON CORPORATION
Suwa Minami Plant
Factory Automation Systems Dept.
1010 Fujimi, Fujimi-machi,
Suwa-gun, Nagano, 399-0295
JAPAN
SUPPLIERS
Factory Automation/Robotics
TEL : +1-562-290-5900
FAX : +1-562-290-5999
E-MAIL : info@robots.epson.com
Factory Automation Division
TEL : +49-(0)-2159-538-1391
FAX : +49-(0)-2159-538-3170
E-MAIL : robot.infos@epson.de
North & South America
Europe
EPSON AMERICA, INC.
18300 Central Avenue
Carson, CA 90746
USA
EPSON DEUTSCHLAND GmbH
Otto-Hahn-Str.4
D-40670 Meerbusch
Germany
iv Vision Guide 5.0 Reference (Ver.5.3) Rev.1
SAFETY PRECAUTIONS
Installation of robots and robotic equipment should only be performed by qualified
personnel in accordance with national and local codes. Please carefully read this
manual and other related manuals when using this software.
Keep this manual in a handy location for easy access at all times.
WARNING
CAUTION
NOTE
)
This symbol indicates that a danger of possible serious injury
or death exists if the associated instructions are not followed
properly.
This symbol indicates that a danger of possible harm to
people or physical damage to equipment and facilities exists
if the associated instructions are not followed properly.
The “NOTE” sections describe important information to be
followed for operating the Robot system.
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 v
vi Vision Guide 5.0 Reference (Ver.5.3) Rev.1
TABLE OF CONTENTS
Vision Properties and Results Reference............................................................................................ 1
YTilt Result ............................................................................................................................ 202
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 xi
Table of Contents
xiiVision Guide 5.0 Reference (Ver.5.3) Rev.1
Vision Properties and Results
Reference
Overview
This reference manual explains all Vision Guide sequence, object, and calibration properties and
results, and all Vision Guide SPEL+ commands. For more information on how to use Vision Guide,
refer to the Vision Guide manual.
Vision Properties and Results Format Description
All Vision Guide properties and results are listed in the pages that follow. An explanation of the
headings for the property and result reference pages is given below:
Applies To
Description
Usage
Values
Remarks
See Also
Runtime only
If the property or result is used with vision objects, then this section simply lists
the vision objects for which this property applies. (Ex. Blob, Correlation,
Polar...)
If the property or result is used with vision sequences then the words Vision
Sequence will appear in this section.
If the property or result is used with vision calibration then the words Vision
Calibration will appear in this section.
A simple description is given for each property or result. This section is
normally very short for simplicity.
The Usage Section describes how to access the property or result from the
+
Language.
SPEL
Describes the range of acceptable values which the property can be set to or
which the result will return. A default value is also shown for those properties
that have a default.
Explains more details than the Description Section. This section is normally
used to describe any caveats or special information that may apply to the
specific property or result. (It is highly recommended to read the Remarks
Section for each property prior to its usage.)
Gives a list of related properties, results, vision objects and other topics that may
prove useful to review.
This is displayed under the property or result name when it applies. Runtime
only properties and results cannot be accessed from the Vision Guide GUI.
They can only be accessed from the SPEL+ language or from VB Guide.
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 1
AbortSeqOnFail Property
AbortSeqOnFail Property
Applies To
Vision Objects: Blob, Geometric, Correlation, Edge, Freame, Line, Point, Polar
Description
Allows the user to specify that if an object fails (i.e. is not found), then the entire sequence is aborted at that
point and no further objects are processed.
Usage
VGet Sequence.Object.AbortSeqOnFail, var
VSet Sequence.Object.AbortSeqOnFail, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Boolean variable that will contain the value of the property.
value Boolean expression for the new value of the property.
Values
False Does not cause the sequence to abort when the object is not found.
True Causes the sequence to abort when the object is not found.
Default: False
Remarks
Use AbortSeqOnFail when you no longer want a sequence to continue if an object is not found.
See Also
Blob Object, Correlation Object, Edge Object, Frame Object, Geometric Object, Line Object, Point Object,
Polar Object, Object Tab
The Accept property specifies the score that a feature must equal or exceed to be considered found.
Usage
VGet Sequence.Object.Accept, var
VSet Sequence.Object.Accept, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer number from 1 - 999
Default: 700 - Correlation, Geometric, Polar
100 - Edge
Remarks
The Accept property can also affect the searching speed by providing a hint as to when to pursue the search
in a given area of the Region of Interest. When the Accept property is high, features must be very similar
to the model, so many regions can be ruled out by a cursory examination and not pursued further. However,
if the Accept property is low, features that are only slightly similar to the model may exceed the Accept
property, so that a detailed examination of more regions in the scene is needed. Thus, raising the Accept
property tends to reduce the time required for searches.
If the specified value is small, it may result in false detection.
The AcquireState result is used determine if a picture has been taken for a sequence whose
RuntimeAcquire property has been set to Strobed.
Usage
VGet Sequence.AcquireState, var
Sequence Name of a sequence or string variable containing a sequence name.
var Integer variable that will contain the value of the result.
Values
0 Picture has not been taken, strobe has not yet fired.
3 Picture has been taken.
Remarks
After calling VRun for a strobed sequence, the SPEL
before further vision processing can continue.
See Also
Object Tab, RunTimeAcquire Property
+
program must wait for the AcquireState to become 3
4 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
AllFound Result
AllFound Result
Applies To
Vision Sequence
Description
The AllFound result returns whether or not all objects within the specified sequence were found.
Usage
VGet Sequence.AllFound, var
Sequence Name of a sequence or string variable containing a sequence name.
var Boolean variable that will contain the value of the result.
Values
False One of the objects within the sequence was not found.
True All objects within the sequence were found.
Remarks
The AllFound result is useful to determine that all objects within a specified sequence are found. This
result applies to sequences only and will not be found in object results.
See Also
Found Result, Sequence Tab, Time Result, Vision Sequences
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
Real number in degrees
Blob : −90 to 90 degree
Others : 0 to 360 degree
Remarks
The Angle result returns the found part's angle in the image coordinate system. In some cases, you may
want to use a Polar object to determine angle because it can be faster and more accurate.
Statistics
For the Angle result, the following statistics are available. AngleMax, AngleMean, AngleMin,
AngleRange, AngleStdDev. Please see Statistics in the Vision Guide manual for details about using
statistics.
Specifies the accuracy of a correlation search with rotation.
Usage
VGet Sequence.Object.AngleAccuracy, var
VSet Sequence.Object.AngleAccuracy, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varReal variable that will contain the value of the property.
NOTE
)
value Real expression for the new value of the property.
Values
Real number in degrees from 0.1 - 10
Default: 1
Remarks
The AngleAccuracy property is used at model training time and not at run-time. This value specifies the
desired accuracy for angle search.
The Correlation model must be taught after a new value for the AngleAccuracy property is set in order for
the new setting to take affect. If you teach a Correlation Model, then later set the AngleAccuracy property
to a new value, and then try to run that Correlation object, it will not search with the new angle accuracy.
You must re-teach the Correlation Model with the AngleEnable property set to True, and with the new
value for the AngleAccuracy property in order for Correlation search with angle to use the new
AngleAccuracy property value.
Specifies whether or not a correlation or geometric object will search for rotation of a feature.
Usage
VGet Sequence.Object.AngleEnable, var
VSet Sequence.Object.AngleEnable, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varBoolean variable that will contain the value of the property.
Values
Remarks
NOTE
)
valueBoolean expression for the new value of the property.
False Do not search for rotation.
True Search for rotation.
Default: False
The AngleRange and AngleMaxIncrement properties will not be used with the correlation or geometric
search object if the AngleEnable property is set to False.
It should be noted that while correlation with angle is normally able to find rotated parts, the correlation
search time usually increase significantly. This is why correlation with angle is most useful for finding
parts which rotate only slightly. The Polar object however, is normally very fast and can be used in
conjunction with the Correlation object for a powerful and fast combination. (See the sections on
Correlation or Polar Searching for more information.)
The Correlation Model must be taught after the AngleEnable property is set to True. If you teach a
Correlation Model, then set the AngleEnable property to True, and then try to run that Correlation object, it
will not search with angle. You must re-teach the Correlation Model with the AngleEnable property set to
True in order for Correlation search with angle to work properly. You must also have the proper settings
for the AngleMaxIncrement and AngleRange Properties prior to teaching the new Model as well.
The AngleMaxIncrement property specifies the maximum angle increment amount for teaching a
correlation model for searching with angle. The model training function selects an angular increment
automatically and then uses the smaller of the automatically selected increment and the maximum angle
increment defined by the AngleMaxIncrement property.
Usage
VGet Sequence.Object.AngleMaxIncrement, var
VSet Sequence.Object.AngleMaxIncrement, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
NOTE
)
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
Real number in degrees from 1 - 45
Default: 1
Remarks
Before reading anything else about the AngleMaxIncrement property it should be noted that the Correlation
Model must be taught after a new value for the AngleMaxIncrement property is set in order for those
settings to take affect. If you teach a Correlation Model, then later set the AngleMaxIncrement property to
a new value, and then try to run that Correlation object, it will not search with the new angle increment.
You must re-teach the Correlation Model with the AngleEnable property set to True, and with the new
value for the AngleMaxIncrement property in order for Correlation search with angle to use the new
AngleMaxIncrement property value. You must also have the proper settings for the AngleRange property
prior to teaching the new Model as well.
If you wish to measure angle precisely, you should provide a maximum angle increment corresponding to
the degree of precision you desire. You should keep in mind, however, that the smaller the angle increment,
the more storage will be required for the model and the slower the search time will be.
It should be noted that while correlation with angle is normally able to find rotated parts, the correlation
search time usually increase significantly. This is why correlation with angle is most useful for finding
parts which rotate only slightly. The Polar object however, is normally very fast and can be used in
conjunction with a Correlation object for a powerful and fast combination. (See the sections on Correlation
or Polar Searching for more information.)
Sets / returns the object to be used to determine the angle of rotation for the ImageOp object Rotate
operation.
Usage
VGet Sequence.Object.AngleObject, var
VSet Sequence.Object.AngleObject, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var String variable that will contain the value of the property.
value String expression for the new value of the property.
Values
Screen, or the name of an object whose step number is prior to the step number of the ImageOp object and
returns an Angle result.
Default: Screen
Remarks
Use AngleObject together with the Rotate setting of the Operation property to automatically rotate the
image according to the Angle result of the AngleObject.
An angle value which is used as an offset to line up the Polar Search direction indicator (graphic line on the
image display) with the part since it is virtually impossible and normally impractical to teach a polar object
with the proper rotation of a part so that the direction lines up with the part.
Usage
VGet Sequence.Object.AngleOffset, var
VSet Sequence.Object.AngleOffset, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
Real number in degrees from 0 - 360
Default: 0
Remarks
The AngleOffset is provided to allow the Polar object's graphic direction indicator to line up with a specific
area on a part. The graphic direction indicator is normally set at the default position for the polar object
which is 0 degrees (at 3 O'clock). The rotation for the AngleOffset property is then defined in a counter
clockwise direction.
See Also
Object Tab, Polar Object
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 11
AngleRange Property
AngleRange Property
Applies To
Vision Objects: Correlation, Geometric
Description
Specifies the range within which to train a series of rotated models.
Usage
VGet Sequence.Object.AngleRange, var
VSet Sequence.Object.AngleRange, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varInteger variable that will contain the value of the property.
Values
Remarks
NOTE
)
valueInteger expression for the new value of the property.
Integer number in degrees from 0 - 180
Default: 180
Before reading anything else about the AngleRange property it should be noted that the Correlation Model
must be taught after a new value for the AngleRange property is set in order for those settings to take affect.
If you teach a Correlation Model, then later set the AngleRange property to a new value, and then try to run
that Correlation object, it will not search with the new angle range. You must re-teach the Correlation
Model with the AngleEnable property set to True, and with the new value for the AngleRange property in
order for Correlation search with angle to use the new AngleRange property value. You must also have the
proper settings for the AngleMaxIncrement property prior to teaching the new Model as well.
The AngleRange property is must be set before teaching the model. This value specifies the range within
which to train a series of rotated models. For example, if the AngleRange property is set to 5, then when
the model is trained, a set of models is actually trained within +/- 5 degrees of the current model position.
These models are then used when a correlation search with angle is specified.
It should be noted that using correlation with angle will generally cause the correlation time to increase
significantly. This is why correlation with angle is normally used for small angle increments only. The
Polar object however, is normally very fast and can be used in conjunction with the Correlation object for a
powerful and fast combination. (See the sections on Correlation or Polar Searching in the Vision Guide Manual for more information.)
Specify a small value for the setting. If the value is large, the detection time gets longer and may result in
false detection.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer number in degrees from 0 - 360
Default: 0
Remarks
Use AngleStart to set the starting search angle. This property is only valid when AngleEnable is set to True.
The system will search for the model starting with AngleStart using the AngleRange property. For
example, if AngleStart is 45 degrees and AngleRange is 10 degrees, then the system will search from 35 to
55 degrees.
Note that after setting AngleStart, the model will be automatically preprocessed on the next run, which
could cause slower cycle time on that first run. Subsequent cycle times will be at normal speed.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult.
Values
Real number in pixels from 1 to searchWinWidth x searchWinHeight
Remarks
The Area result is the total area of the blob (in pixels). The area measurement may have a fractional
component.
Statistics
For the Area result, the following statistics are available. AreaMax, AreaMean, AreaMin, AreaStdDev.
Please see Statistics in the Vision Guide manual for details about using statistics.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
0 - None
1 - Black
2 - White
Remarks
With some images, it is difficult to read the label because of the video background. Use BackColor to
make the label easier to read.
See Also
FoundColor Property
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 15
CalComplete Result
CalComplete Result
Applies To
Vision Calibration
Description
Returns the completion status of a calibration.
Usage
VGet Calibration.CalComplete,var
Calibration Name of a calibration or string variable containing a calibration name.
var Boolean variable that will contain the value of the result.
Values
False Calibration has not been completed.
True Calibration has been completed.
Remarks
Use CalComplete to determine if a calibration has been completed successfully.
See Also
PointsTaught Property
16 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
Calibration Property
Calibration Property
Applies To
Vision Sequence
Description
Sets / returns the calibration used with the specified sequence.
Usage
VGet Sequence.Calibration, var
VSet Sequence.Calibration, value
Sequence Name of a sequence or string variable containing a sequence name.
var String variable that will contain the value of the property.
value Name of a calibration or string expression containing a calibration name.
Values
String value of up to 16 characters containing the name of the calibration
Remarks
Calibration is required for most vision applications to calculate the proper results for the robot coordinate
system and camera coordinate system. The Calibration property associates a previously defined calibration
with the specified vision sequence. All calibrations which have been completed previously will appear in
the Sequence Tab Calibration property which allows the user to select which calibration to use for this
sequence.
It should be noted that each vision sequence may have only 1 calibration defined at a time. However, if
you want to run a sequence with different calibrations, you can set the Calibration property for the
sequence at runtime prior to initiating the sequence. For example, you can run the sequence test with
calibration calib1 and then later run the sequence test with calibration calib2 as follows:
VSet test.Calibration, calib1
VRUN test
VSet test.Calibration, calib2
VRUN test
Specifies which camera to use for a vision sequence or calibration.
Usage
VGet {Sequence | Calibration}.Camera, var
VSet {Sequence | Calibration}.Camera, value
Sequence Name of a sequence or string variable containing a sequence name.
Calibration Name of a calibration or string variable containing a calibration name.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer value from 1-8.
Default: 1
Remarks
One camera may be associated with a vision sequence or calibration at a time.
For sequences, the camera number must be selected before executing VRun.
For calibrations, the camera number must match the camera number of the calibration target sequence.
Example
The following example shows how to use different cameras with the same vision sequence. We will set the
Camera property prior to executing the vision sequence called FINDMARK.
Function test
#define CAMERA1 1
#define CAMERA2 2
VSet findmark.Camera, CAMERA1
VRun findmark
'Get any info req'd from 1st sequence here (i.e. VGet findmark.xxx.xxx)
VSet findmark.Camera, CAMERA2
VRun findmark
'Get any info req'd from 2nd sequence here (i.e. VGet findmark.xxx.xxx)
Fend
Specifies the gain settings for the camera used in the current sequence. The gain determines the dynamic
range of the digital values that will be assigned to the video signal in the A/D converter on the camera.
(Also known as Contrast.)
Usage
VGet Sequence.CameraGain, var
VSet Sequence.CameraGain, value
Sequence Name of a sequence or string variable containing a sequence name.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer value from 0 - 255
Default: 80
Remarks
Adjust the value of the CameraGain property when you want to change the contrast of an acquisition. The
CameraGain property can have values in the range of 0-255, with lower values representing higher gain in
the analog section.
The CameraGain property is normally left at a value of 80. Setting too high or low CameraGain property
value may cause improper vision processing.
See Also
Camera Property, CameraOffset Property, Sequence Tab, Vision Sequences
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 19
CameraOffset Property
CameraOffset Property
Applies To
Vision Sequence
Description
Specifies the offset for the camera used in the current sequence. The offset is the lower limit of the digital
values that will be assigned to the video signal in the A/D converter. (Also known as Brightness.)
Usage
VGet Sequence.CameraOffset, var
VSet Sequence.CameraOffset, value
Sequence Name of a sequence or string variable containing a sequence name.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer value from 0 - 255
Default: 0
Remarks
The CameraOffset property is normally left at a value of 0.
Change the CameraOffset property when you want to change the brightness of an acquisition. Adjusting
the CameraOffset property allows you to select the lower and upper limits (saturation points) at which
differentiation of assigned digital values begins and ends. Due to variations in camera components, the
lowest digital values that can be converted may not be precisely 0, but will be close to 0. All signal
voltages that exceed the upper limit of the dynamic range are assigned the highest digital value possible.
See Also
Camera Property, CameraGain Property, Sequence Tab, Vision Sequences
20 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
CameraOrientation Property
CameraOrientation Property
Applies To
Vision Calibration
Description
Sets / returns the CameraOrientation type for the specified calibration.
Usage
VGet Calibration.CameraOrientation, var
VSet Calibration.CameraOrientation, value
Calibration Name of a calibration or string variable containing a calibration name.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
1 - Standalone
2 - Fixed Downward
3 - Fixed Upward
4 - Mobile on J2
5 - Mobile on J4
6 - Mobile on J5
7 - Mobile on J6
Default: 1
Remarks
The CameraOrientation property must be set before teaching calibration points.
See Also
Camera Property, CameraGain Property, Sequence Tab, Vision Sequences
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 21
CameraX Result
CameraX Result
Applies To
Vision Objects: Blob, Correlation, Edge, Geometric, Point, Polar
Description
Returns the X position coordinate of the found part's position in the camera coordinate frame.
Usage
VGet Sequence.Object.CameraX [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
Real number in millimeters.
Remarks
The CameraX result is always in millimeters in the camera coordinate system.
It should be noted that the CameraX result can only be calculated for vision sequences which have been
associated with a calibration. If no calibration has been assigned to the vision sequence then if VGet is
used to retrieve the CameraX result, an error will occur.
Statistics
For the CameraX result, the following statistics are available. CameraXMax, CameraXMean,
CameraXMin, CameraXStdDev. Please see Statistics in the Vision Guide manual for details about using
statistics.
See Also
Angle result, Blob Object, CameraY result, CameraXYU result, Correlation Object, Edge Object, Found
result, Geometric Object, Object Tab, Point Object, Polar Object, RobotX result
22 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
CameraX1 Result
CameraX1 Result
Applies To
Vision Objects: Line
Description
Returns the starting point position (X1) of a Line object in Camera coordinates.
Usage
VGet Sequence.Object.CameraX1, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varReal variable that will contain the value of the result.
Values
The value returned for the CameraX1 result depends upon the calibration used for the camera. Values are
always returned in millimeters.
Remarks
Every line must have a starting point and ending point. The CameraX1 and CameraX2 results represent the
X coordinate position starting (X1,Y1) and endpoints (X2,Y2) of the specified Line object. Since Line
object starting and endpoints can be assigned to other vision objects, the (CameraX1, CameraY1) and
(CameraX2, CameraY2) coordinate pairs can actually be Camera coordinate positions which match the
CameraX and CameraY results for other vision objects. (In other words if a Line Object's starting point is
defined by a Correlation object, then the (CameraX, CameraY) results from the Correlation object will
match the (CameraX1, CameraY1) results for the Line object.)
It should be noted that the CameraX1 result can only be calculated for vision sequences which have been
associated with a calibration. If no calibration has been assigned to the vision sequence then if VGet is
used to retrieve the CameraX1 result, an error will occur.
Returns the end point position (X2) of a Line object in Camera coordinates.
Usage
VGet Sequence.Object.CameraX2, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varReal variable that will contain the value of the result.
Values
The value returned for the CameraX2 result depends upon the calibration used for the camera. Values are
always returned in millimeters.
Remarks
Every line must have a starting point and ending point. The CameraX1 and CameraX2 results represent the
X coordinate position starting (X1,Y1) and endpoints (X2,Y2) of the specified Line object. Since Line
object starting and endpoints can be assigned to other vision objects, the (CameraX1, CameraY1) and
(CameraX2, CameraY2) coordinate pairs can actually be Camera coordinate positions which match the
CameraX and CameraY results for other vision objects. (In other words if a Line object's starting point is
defined by a Correlation object, then the (CameraX, CameraY) results from the Correlation object will
match the (CameraX1, CameraY1) results for the Line object.)
It should be noted that the CameraX2 result can only be calculated for vision sequences which have been
associated with a calibration. If no calibration has been assigned to the vision sequence then if VGet is
used to retrieve the CameraX2 result, an error will occur.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
found Boolean variable representing whether or not the part you are looking for was found.
xVar Real variable that will contain the X coordinate position of the part.
yVar Real variable that will contain the Y coordinate position of the part.
uVar Real variable that will contain the angular position (rotation) of the part with respect to the
camera coordinate system
resultOptional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
found Boolean value which is either True or False
xVar Real number in millimeters
yVar Real number in millimeters
uVar Real number in degrees
Remarks
The xVar and yVar values are returned in millimeters since the Camera Coordinate Frame is calibrated in
millimeters. The uVar value is returned in degrees.
It should be noted that the CameraXYU result can only be calculated for vision sequences which have been
associated with a calibration. If no calibration has been assigned to the vision sequence then if VGet is
used to retrieve the CameraXYU result, an error will occur.
The CameraXYU result is available at runtime only.
See Also
Angle Result, Blob Object, CameraX Result, CameraY Result, Correlation Object, Edge Object, Found
Result, Point Object, Polar Object, RobotXYU Result
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 25
CameraY Result
CameraY Result
Applies To
Vision Objects: Blob, Correlation, Edge, Geometric, Point, Polar
Description
Returns the Y position coordinate of the found part's position in the camera coordinate frame.
Usage
VGet Sequence.Object.CameraY [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
Real number in millimeters
Remarks
The CameraY result is always in millimeters in the camera coordinate system.
It should be noted that the CameraY result can only be calculated for vision sequences which have been
associated with a calibration. If no calibration has been assigned to the vision sequence then if VGet is
used to retrieve the CameraY result, an error will occur.
Statistics
For the CameraY result, the following statistics are available. CameraYMax, CameraYMean,
CameraYMin, CameraYStdDev. Please see Statistics in the Vision Guide manual for details about using
statistics.
See Also
Angle Result, Blob Object, CameraX Result, CameraXYU Result, Correlation Object, Edge Object, Found
Result, Geometric Object, Point Object, Polar Object, RobotXYU Result, RobotY Result
26 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
CameraY1 Result
CameraY1 Result
Applies To
Vision Objects: Line
Description
Returns the starting point position Y coordinate (Y1) of a Line object in Camera coordinates.
Usage
VGet Sequence.Object.CameraY1, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varReal variable that will contain the value of the result.
Values
Real number in millimeters
Remarks
Every line must have a starting point and ending point. The CameraY1 and CameraY2 results represent the
Y coordinate position starting (X1,Y1) and endpoints (X2,Y2) of the specified Line object. Since Line
object starting and endpoints can be assigned to other vision objects, the (CameraX1, CameraY1) and
(CameraX2, CameraY2) coordinate pairs can actually be Camera coordinate positions which match the
CameraX and CameraY results for other vision objects. (In other words if a Line object's starting point is
defined by a Correlation object, then the (CameraX, CameraY) results from the Correlation object will
match the (CameraX1, CameraY1) results for the Line object.)
It should be noted that the CameraY1 result can only be calculated for vision sequences which have been
associated with a calibration. If no calibration has been assigned to the vision sequence then if VGet is
used to retrieve the CameraY1 result, an error will occur.
Returns the ending point position (Y2) of a Line object in Camera coordinates.
Usage
VGet Sequence.Object.CameraY2, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varReal variable that will contain the value of the result.
Values
The value returned for the CameraY2 result depends upon the calibration used for the camera. Values are
always returned in millimeters.
Remarks
Every line must have a starting point and ending point. The CameraY1 and CameraY2 results represent the
Y coordinate position starting (X1,Y1) and endpoints (X2,Y2) of the specified Line object. Since Line
object starting and endpoints can be assigned to other vision objects, the (CameraX1, CameraY1) and
(CameraX2, CameraY2) coordinate pairs can actually be Camera coordinate positions which match the
CameraX and CameraY results for other vision objects. (In other words if a Line object's starting point is
defined by a Correlation object, then the (CameraX, CameraY) results from the Correlation object will
match the (CameraX1, CameraY1) results for the Line object.)
It should be noted that the CameraY2 result can only be calculated for vision sequences which have been
associated with a calibration. If no calibration has been assigned to the vision sequence then if VGet is
used to retrieve the CameraY2 result, an error will occur.
The Caption property allows you to assign a meaningful label to the vision object. By default, the Caption
property is an empty string, and the name of the object will be used as its label.
See Also
Blob Object, Correlation Object, Edge Object, Frame Object, Geometric Object, ImageOp Object, Line
Object, Object Tab, Point Object, Polar Object
Specifies which result to use from the CenterPointObject.
Usage
VGet Sequence.Object.CenterPntObjResult, var
VSet Sequence.Object.CenterPntObjResult, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
The value can range from 1 to the NumberToFind value for the CenterPointObject. If the
CenterPointObject is 'Screen', then the value is always 1.
Remarks
CenterPntObjResult enables you to attach several objects to the results of one CenterPointObject. For
example, you could create a blob object with NumberToFind set to 4. Then you could attach a polar object
to each one of the results by specifying the blob for the CenterPointObject of each polar and a different
CenterPntObjResult for each polar.
Sets or returns the X offset of the center of the search window after it is positioned with the
CenterPointObject.
Usage
VGet Sequence.Object.CenterPntOffsetX, var
VSet Sequence.Object.CenterPntOffsetX, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer in pixels. If the search window would not be positioned within the video image as a result of the
value, then the search window will not be re-positioned and the object will be marked as not found.
Default: 0
Remarks
The CenterPntOffsetX property can be used to shift a search window that has been positioned by a
CenterPointObject.
If CenterPointObject property is set to None, then CenterPntOffsetX has no effect.
Sets or returns the Y offset of the center of the search window after it is positioned with the
CenterPointObject.
Usage
VGet Sequence.Object.CenterPntOffsetY, var
VSet Sequence.Object.CenterPntOffsetY, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer in pixels. If the search window would not be positioned within the video image as a result of the
value, then the search window will not be re-positioned and the object will be marked as not found.
Default: 0
Remarks
The CenterPntOffsetY property can be used to shift a search window that has been positioned by a
CenterPointObject.
If CenterPointObject property is set to None, then CenterPntOffsetY has no effect.
Specifies the object whose position is used as the center for the specified object.
Usage
VGet Sequence.Object.CenterPointObject, var
VSet Sequence.Object.CenterPointObject, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var String variable that will contain the value of the property.
value String expression for the new value of the property.
Values
Name of a vision object or screen.
Default: Screen
Remarks
The CenterPointObject is based on the resulting coordinate position of an object which is executed prior to
the specified object.
When teaching an object which has the CenterPointObject set to something other than Screen, the vision
object defined as CenterPointObject is executed first and the resulting position (PixelX and PixelY) is used
to position the object before it is taught. In order for the current object to be found in the future also
requires that the vision object defined as the CenterPointObject is found so that the center of the current
object can be based on the PixelX and PixelY positions for that object.
Specifies the X Coordinate position to be used as the center point for the Polar object.
Usage
VGet Sequence.Object.CenterX, var
VSet Sequence.Object.CenterX, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
Real number from 0 – (video width in pixels – 1). However, we must take into account the value of the
Radius property for the Polar object since the center of the Polar object cannot be at the edge of the
Camera's field of view. Therefore, the actual range is:
(0 + Radius) - (Max Camera X Resolution – Radius – 1)
For example, an image resolution of (640x480) and a 16 pixel radius gives a range of 16 - 623.
Default: X coordinate screen position of the center of the Polar object
Remarks
This property is filled in automatically when the CenterPointObject property for a Polar object is set to
another vision object. However, if the CenterPointObject property for a Polar object is set to Screen, then
the user may set the CenterX property to position the Polar object.
The user may also set the CenterPointObject property for a Polar object automatically by physically
dragging the Polar object to a new position on the screen. When this drag operation is done, the CenterX
property is automatically updated with the new CenterX position of the Polar object.
Specifies the Y Coordinate position to be used as the center point for the Polar object.
Usage
VGet Sequence.Object.CenterY, var
VSet Sequence.Object.CenterY, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
Real number from 1 – (video width in pixels – 1). However, we must take into account the value of the
Radius property for the Polar object since the center of the Polar object cannot be at the edge of the
Camera's field of view. Therefore, the actual range is:
(0 + Radius) - (Max Camera Y Resolution – Radius – 1)
For example, an image resolution of 640x480 and a 16 pixel radius gives a range of 16 - 463.
Default: Y coordinate Screen Position of the center of the Polar object
Remarks
This property is filled in automatically when the CenterPointObject property for a Polar object is set to
another vision object. However, if the CenterPointObject property for a Polar object is set to Screen, then
the user may set the CenterY property to position the Polar object.
The user may also set the CenterPointObject property for a Polar object automatically by physically
dragging the Polar object to a new position on the screen. When this drag operation is done, the CenterY
property is automatically updated with the new CenterY position of the Polar object.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional integer result number from 1 to the NumberToFind property. If omitted, the result
number is the CurrentResult
Values
Minimum value is 1.0.
Remarks
Compactness is a measure of how close all particles in a blob are from one another. It is derived from the
perimeter and area. A circular blob is most compact and is defined to have a compactness measure of 1.0
(the minimum). More convoluted shapes have larger values.
See Also
Holes Result, Object Tab, Perimeter Result, Roughness Result
36 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
Confusion Property
Confusion Property
Applies To
Vision Objects: Correlation, Geometric, Polar
Description
Indicates the amount of confusion expected in the image to be searched. This is the highest shape score a
feature can get that is not an instance of the feature for which you are searching. (i.e. Will there be patterns
in the image which will "confuse" the searching algorithms? To what level?)
Usage
VGet Sequence.Object.Confusion, var
VSet Sequence.Object.Confusion, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer number from 1-999 with the higher numbers representing a higher confusion in an image.
Default: 800
Remarks
Both the Confusion property and the Accept property affect searching and pattern finding speed. The
Confusion property allows the system to quit the Correlation Search or Polar Search before exploring all
possible regions of the image, thus speeding up the process.
Set the Confusion property based on the highest value you expect the "wrong part" to get (plus a margin for
error). The Confusion property should be greater than or equal to the Accept property. Setting the
Confusion property to a high value may increase the time of the search, but may be necessary to insure that
the correct features are found.
The Confusion property becomes very important when there are multiple features within an image which
are very similar. In these cases the proper setting of the Confusion property (i.e. at a high enough level)
helps eliminate the wrong features from the Correlation Search, or Polar Search. However, when an image
has few features which look the same then the Confusion property can be set a little lower. This can help
reduce processing time.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varReal variable that will contain the value of the result.
Values
Real number from 0 - 255
Remarks
Contrast is the difference in grayscale values between an edge and its background. Contrast can help find
weaker edges. First, find the edge you want to search for and record the contrast value. Next, set the
ContrastTarget property to this value. Then set the ScoreWeightContrast to a higher value that
ScoreWeightStrength. This tells the Edge object to look for an edge with the desired contrast and base the
score on it.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
0 - 255
Default: 0 (any contrast)
Remarks
ContrastTarget is the desired difference in grayscale values between an edge and its background. Use
ContrastTarget to find weaker edges or edges at an angle. First, find the edge you want to search for and
record the Contrast result value. You may have to temoparily change the Edge object position to find it.
Next, set the ContrastTarget property to this value. Then set the ScoreWeightContrast to a higher value
then ScoreWeightStrength. This tells the Edge object to look for an edge with the desired contrast and base
the score on it.
Defines which result to display in the Results list on the Object tab or which result to return data for when
an object searches for multiple results.
Usage
VGet Sequence.Object.CurrentResult, var
VSet Sequence.Object.CurrentResult, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer number from 1 - NumberToFind property value.
Default: 1
Remarks
Blob, Correlation, Edge, and Geometric objects support finding multiple results. The CurrentResult
property defines which result to work with.
When you are only trying to find 1 result (as defined by the NumberToFind property), the CurrentResult
property is automatically set to 1 since there is only 1 possible result to return.
When working with the Vision Guide window, you will also notice that the Results list on the Object tab
will display a heading like "Result (1 of 15)". This means that the system tried to find 15 features (as
defined by the NumberToFind property) and the Results list will display the results for item 1.
If you want to see the results for one of the other results, just change the CurrentResult property value to
indicate which result you want to examine.
Results are ordered according to the Sort property setting.
language example runs a vision sequence called "mtest" which contains a Blob object
called "Blob01". "Blob01" has been defined to find multiple blobs (3) from within a single Search Window.
(i.e. mtest.Blob01.NumberToFind = 3)
The following program will run the sequence and make sure that the proper number of features (3) was
found for "Blob01" and then print the Area for each result.
Function main
#define NUM_TO_FIND 3
Integer foundCount, area
VRun mtest
VGet mtest.Blob01.NumberFound, foundCount
If foundCount = NUM_TO_FIND Then
Print "The correct number of blobs were found"
Else
Print "Only (", found, ") blobs were found"
EndIf
VSet mtest.Blob01.CurrentResult, 1
VGet mtest.BLOB01.Area, area
Print "1st blob area =", area, "pixels"
VSet mtest.Blob01.CurrentResult, 2
VGet mtest.Blob01.Area, area
Print "2nd blob area =", area, "pixels"
VSet mtest.Blob01.CurrentResult, 3
VGet mtest.Blob01.Area, area
Print "3rd blob area =", area, "pixels"
Fend
42Vision Guide 5.0 Reference (Ver.5.3) Rev.1
DetailLevel Property
DetailLevel Property
Applies To
Geometric
Description
Selects the level at which an edge is considered found during the geometric search.
Usage
VGet Sequence.Object.DetailLevel, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varInteger variable that will contain the value of the property.
Values
1 - Medium
2 - High
3 - Very High
Default: 1 - Medium
Remarks
The DetailLevel property determines what is considered an edge during the search. Edges are defined by
the transition in grayscale value between adjacent pixels. The default level (Medium) offers a robust
detection of active edges from images with contrast variation, noise, and non-uniform illumination.
Nevertheless, in cases where objects of interest have a very low contrast compared to high contrast areas in
the image, some low contrast edges can be missed.
If your images contain low-contrast objects, a detail level setting of High should be used to ensure the
detection of all important edges in the image. The Very High setting performs an exhaustive edge
extraction, including very low contrast edges. However, it should be noted that this mode is very sensitive
to noise.
The Smoothness property also affects how edges are extracted.
See Also
Geometric Object, Smoothness Property
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 43
EdgeThreshold Property
EdgeThreshold Property
Applies To
Vision Objects: Edge
Description
Sets the threshold percentage for which edges with grayscale variation below this value are ignored.
Usage
VGet Sequence.Object.EdgeThreshold, var
VSet Sequence.Object.EdgeThreshold, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer number from 1 - 100%
Default: 2
Remarks
Use EdgeThreshold to reject edges along the search path with smaller grayscale variations. During an edge
search, the image in the search area is projected into one line of pixels. Each pixel in the projection is a
summation of all the pixels in the same column of the search area. An edge value is determined for each
pixel in the projection. The EdgeThreshold rejects edges values below the setting.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
1 - Single
2 - Pair
Default: 1
Remarks
Use EdgeType to choose whether to search for a single edge or an edge pair. An edge pair is two
opposing edges. The coordinate of the pair is the midpoint of the line between the two edge coordinates.
See Also
Edge Object
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 45
EndPntObjResult Property
EndPntObjResult Property
Applies To
Vision Objects: Edge, Line
Description
Specifies which result to use from the EndPointObject.
Usage
VGet Sequence.Object.EndPntObjResult, var
VSet Sequence.Object.EndPntObjResult, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
The value can range from 1 to the NumberToFind value for the EndPointObject. If the EndPointObject is
'Screen', then the value is always 1.
Remarks
EndPntObjResult enables you to attach several objects to the results of one EndPointObject. For example,
you could create a blob object with NumberToFind set to 4. Then you could attach a line object to each
one of the results by specifying the blob for the EndPointObject of each line and a different
EndPntObjResult for each line.
See Also
Edge Object, EndPointObject Property, Line Object, Object Tab, StartPntObjResult Property
46 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
EndPointObject Property
EndPointObject Property
Applies To
Vision Objects: Edge, Line
Description
Specifies the vision object to use for the end point of a Line object.
Usage
VGet Sequence.Object.EndPointObject, var
VSet Sequence.Object.EndPointObject, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var String variable that will contain the value of the property.
value String expression for the new value of the property. Valid vision objects for the
EndPointObject property are: Blob, Correlation, Edge, Geometric, Line, and Point objects.
The Screen may also be used as the EndPointObject.
Values
Screen or any object that runs prior to the Line object.
Remarks
When a Line object is first created, the EndPointObject property is set to Screen. However, Line objects
are normally attached to other vision objects. This is the purpose of the StartPointObject and
EndPointObject properties. Through these two properties the user can define a line between any two vision
objects (except Frames).
Frame objects cannot be used to define an end point for a Line object. However, this does not cause a
limitation because Frames are defined by other vision objects. In those cases where you want to define a
line end point with a Frame object, use a Point object in the frame to define the end point of the Line object.
It is important to note that for each specific vision sequence, only those vision objects which are executed
prior to the Line object in the vision sequence steps will be available to use as an EndPointObject.
See Also
Edge Object, EndPointType Property, Line Object, Object Tab, StartPointObject Property
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 47
EndPointType Property
EndPointType Property
Applies To
Vision Objects: Edge, Line
Description
Specifies the type of end point to use for the line object. In most cases the end point type will be a point
(which usually means the PixelX and PixelY position of the EndPointObject). However, when the
EndPointObject for the current line is a 2nd Line object, the EndPointType property is used to define an
intersection point on the 2nd line such as the lines midpoint, endpoint, startpoint or perpendicular position.
Usage
VGet Sequence.Object.EndPointType, var
VSet Sequence.Object.EndPointType, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
Values
Remarks
NOTE
)
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
EndPointObject = Line
See remarks.
Default: 2 - MidPoint
As you can see in the Values Table above, most of the EndPointObject's support only 1 EndPointType
called Point. This is because most EndPointObject's use the PixelX and PixelY position for a reference
position for defining a Start or End Point for a line. So when the EndPointObject is defined as Screen,
Blob, Correlation, Edge, or Point, the EndPointType will always be set to 0 - Point.
The range of valid values for EndPointType depend upon the EndPointObject.
However, when the EndPointObject is another Line object, the user must decide where on the 2nd line to
intersect with the 1st line. The choices are as follows:
EndPointObject = Screen, Blob, Correlation, Geometric, Edge,
or Point object
0 - Point
When used with objects other than the Line object, the EndPointType
can only be of type Point.
Default: 0 - Point
1 - EndPoint Use the end point of the other line as the endpoint for this line.
2 - MidPoint Cut the other line in half and use the center (or midpoint of the other line as the
endpoint for this line.
3 - Perpendicular Calculate the position on the 2nd line where the 2 lines intersect in a perpendicular
fashion and use this position as the end point.
4 - StartPoint Use the starting point of the other line as the end point for this line.
5 - PerpToStartPnt Calculate the position on the 2nd line where the 2 lines intersect in a perpendicular
fashion through the start point of the first line and use this position as the end point.
48 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
EndPointType Property
6 - PerpToMidPnt Calculate the position on the 2nd line where the 2 lines intersect in a perpendicular
fashion through the mid point of the first line and use this position as the end point.
7 - PerpToEndPnt Calculate the position on the 2nd line where the 2 lines intersect in a perpendicular
fashion through the end point of the first line and use this position as the end point.
If the EndPointObject is modified to a Line object then the EndPointType is automatically changed to
MidPoint.
If the EndPointObject is modified to Screen or Blob, Correlation, Edge, or Point object then the
EndPointType is automatically changed to 0 - Point.
See Also
Edge Object, EndPointObject Property, Line Object, Object Tab, StartPointType Property
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 49
ExposureTime Property
ExposureTime Property
Applies To
Vision Sequences
Description
Sets the electronic shutter time for a camera that is running in asynchronous reset mode.
Usage
VGet Sequence.ExposureTime, var
VSet Sequence.ExposureTime, value
Sequence Name of a sequence or string variable containing a sequence name.
var Long variable that will contain the value of the property.
value Long expression for the new value of the property.
Values
Long value in microseconds.
Default: 0 (microsecond)
Remarks
When RuntimeAcquire is Stationary and ExposureTime = 0, the camera acquires images in Next Frame
mode. When the sequence runs, the camera waits for the next valid frame, then acquires the image.
CameraGain and CameraOffset settings are used. Typical image acquire time is from 33 to 66 ms for
SC300 series.
When RuntimeAcquire is Stationary and ExposureTime is > 0, the camera acquires images in async reset
mode. When the sequence runs, the camera sensor is exposed for the ExposureTime, then the image is
acquired. CameraGain and CameraOffset settings are not used. Typical image acquire time is 33 ms +
Exposure time.
When RuntimeAcquire is Strobed, ExposureTime must be > 0, and the camera acquires images in async
reset mode. After the hardware trigger input is received, the camera sensor is exposed for the
ExposureTime, then the image is acquired. CameraGain and CameraOffset settings are not used. Typical
image acquire time is 33 ms + Exposure time.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varMinX Real variable containing minimum X position of the blob's Extrema.
varMaxX Real variable containing maximum X position of the blob's Extrema.
varMinY Real variable containing minimum Y position of the blob's Extrema.
varMaxY Real variable containing maximum Y position of the blob's Extrema.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
The values returned are always in pixels and may be from 1 - video height.
Remarks
The MinX, MaxX, MinY, and MaxY results together define a blob's smallest enclosing rectangle that is
aligned with the coordinate axes and completely encloses the blob. This rectangle is known as the extrema.
The Extrema result enables you to retrieve all four coordinates in one command.
The Extrema value can be fractional. For example, 100.5 would be between the 100 and 101 pixels.
Vision Objects: Blob, Correlation, Edge, Frame, Geometric, Line, Point, Polar
Description
Returns whether or not the object was found.
Usage
VGet Sequence.Object.Found [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Boolean variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
False The part was not found
True The part was found
Remarks
The Found result simply returns whether or not the part or the current object is looking for was found. For
example, and Edge Object returns whether or not an Edge was found and a Correlation object returns
whether or not an image was found which matches the taught model.
The Found result is also included with the RobotXYU, and CameraXYU results to reduce the number of
function calls required to move the robot to pick up parts when they are found.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
1 - Light Green If this object is found, show it in Light Green
2 - Dark Green If this object is found, show it in Dark Green
Remarks
You can set the FoundColor property to show an object that is found in Light Green, or Dark Green. In a
bright image, the Dark Green could be easier to see, whereas in a darker image, the Light Green would be
easier to see.
See Also
Graphics Property, Found Result
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 53
FoundOnEdge Result
FoundOnEdge Result
Applies To
Vision Objects: Blob, Correlation, Geometric
Description
Returns True when a Blob, Correlation, or Geometric object is found too close to the edge of the search
window.
Usage
VGet Sequence.Object.FoundOnEdge [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varBoolean variable that will contain the value of the result.
NOTE
)
resultOptional result number. If omitted, the result number is the CurrentResult.Used for objects
that return multiple results.
Values
False The part was not found at the edge of the search window
True The part was found at the edge of the search window
Remarks
The FoundOnEdge result is a special status which works only with the Blob, Correlation, and Geometric
objects. It tells the user why a specific Blob, Correlation, or Geometric object is not Found.
Sometimes the Vision System tries to report that a Blob, Correlation, or Geometric object was found even
though part of the object may be located outside of the Field of View. Rather than report these objects as
Found, Vision Guide returns False for the Found result when a Blob, Correlation, or Geometric object is
found but part of the object is outside of the Search Window.
If you want to reject a part when FoundOnEdge is True, set the RejectOnEdge property to True.
There will be cases where you will use a Correlation object and the Found result continues to return False
even though the Score result for the object is well below the Accept property. In these situations, check the
FoundOnEdge result and RejectOnEdge property. This will tell you that the part was in fact found by the
Vision System but that Vision Guide will not return the results because the part or object is outside of the
Field of View when the picture was taken.
See Also
Blob Object, Correlation Object, Found Result, Geometric Object, Object Tab, RejectOnEdge Property,
Score Result
54 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
Frame Property
Frame Property
Applies To
Vision Objects: Blob, Correlation, Edge, Geometric, ImageOp, Line, Point, Polar
Description
Defines the current object searching position with respect to the specified frame.
Usage
VGet Sequence.Object.Frame, var
VSet Sequence.Object.Frame, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varString variable that will contain the value of the property.
NOTE
)
value String expression for the new value of the property.
Values
Any Frame object which is located prior to the current vision object in the Object Execution Step List can
be specified as the Frame property value.
Default: None
Remarks
The Frame property is very useful for aligning objects to specific positions which respect to other objects
found positions. For more details see the Frame object explanation in Vision Objects.
Vision objects can use any Frame objects which have been defined as long as the associated Frame object
is located before the vision object in the Object Execution Step List.
The Object Execution Step List is the list shown on the Sequence Tab which shows the execution order for
all objects in the current sequence.
See Also
Blob Object, Correlation Object, Edge Object, Frame Object, Geometric Object, Line Object, Object Tab,
Point Object, Polar Object
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 55
Graphics Property
Graphics Property
Applies To
Vision Objects: All
Description
Specifies which graphics to display at runtime and design time. (i.e. Whether to show graphics for each
object, just position information, or nothing at all.) This property can help remove screen clutter from
complex vision sequences.
Usage
VGet Sequence.Object.Graphics, var
VSet Sequence.Object.Graphics, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
1 - All Display object labels, line references, and found position
2 - Position Only Display found position only
3 - None Don't display any graphics at run time
Remarks
While graphics such as vision object Labels (which show vision object names), lines, Search Windows, and
found position crosshairs are very useful they can get in the way if too many are displayed at the same time.
The Graphics property helps eliminate unnecessary clutter on the Vision Guide Development, Run or
Operator Windows by removing those graphics from objects which the designer specifies.
The Graphics property is used to define the graphics display characteristics for each vision object. These
will normally be set to values which, when combined with the Graphics Properties of other vision objects,
will help reduce screen display clutter. The Graphics property is normally used to set the graphics
characteristics exactly as you would like your final vision solution to display graphics on the Run or
Operator Window.
The Graphics property settings for all vision objects can be overridden with the Force All Graphics On and
Force Labels Off Vision Guide toolbar buttons.
NOTE
)
It is important to point out that the Graphics property settings apply in both runtime and design modes. (i.e.
the Run Window, Operator Window, and Vision Guide Window) This is done to ensure that the graphics
display is always the same regardless of if you run a sequence from the Vision Guide Window or from a
program.
See Also
Blob Object, Correlation Object, Edge Object, Frame Object, Geometric Object, ImageOp Object, Line
Object, Object Tab, Point Object, Polar Object
56 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
Holes Result
Holes Result
Applies To
Vision Objects: Blob
Description
Returns the number of holes found within a Blob object.
Usage
VGet Sequence.Object.Holes [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the result.
result Optional integer result number from 1 to the NumberToFind property. If omitted, the result
number is the CurrentResult
Values
Valid values are zero to the number of holes found.
Remarks
A hole is a blob with opposite polarity located within the blob that was found. Holes that intersect the edge
of the blob are not counted.
See Also
Compactness Result, Object Tab, Perimeter Result, Roughness Result
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 57
ImageFile Property
ImageFile Property
Designtime only
Applies To
Vision Sequence
Description
Sets or returns the image file for the current sequence.
Remarks
Use the ImageFile property to view and search images stored on disk with the SaveImage property.
Sets / returns the output bit used for the calibration lamp.
Usage
VGet Calibration.Lamp, var
VSet Calibration.Lamp, value
Calibration Name of a calibration or string variable containing a calibration name.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Integer value of a valid standard output bit.
Remarks
Use the Lamp property to automatically turn on a lamp for calibration. Use the LampDelay property to
allow time for a lamp to turn on before calibration continues.
See Also
LampDelay Property, UpwardLamp Property
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 61
LampDelay Property
LampDelay Property
Applies To
Vision Calibration
Description
Sets / returns the amount of time to wait for a calibration lamp to turn on.
Usage
VGet Calibration.LampDelay, var
VSet Calibration.LampDelay, value
Calibration Name of a calibration or string variable containing a calibration name.
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
Real number in seconds
Remarks
Use the LampDelay property to allow time for a lamp to turn on before calibration continues. This is
especially useful for flourescent lamps.
See Also
Lamp Property, UpwardLamp Property
62 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
Length Result
Length Result
Applies To
Vision Objects: Line
Description
Returns a length in millimeters of the distance between the starting and ending point of the line.
Usage
VGet Sequence.Object.Length, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varInteger variable that will contain the value of the result.
Values
The value returned is always in millimeters and may be from 0 on up. This real number represents the
length of the line and depends upon calibration in order to return a value.
Remarks
The Length result can only be returned if calibration has been performed because the length is measured in
millimeters. This calibration can be done with or without the robot.
The Length result can be used for inspection and measurement applications where measurements are
required. (For example, to measure spark plug gaps.)
See Also
Calibration, Line Object, Object Tab, PixelLength Result
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 63
LineObject1 Property
LineObject1 Property
Applies To
Vision Objects: Point
Description
Specifies the 1st Line object to use for defining the position of a Point object. (LineObject1 defines the line
which is used by the PointType property for defining the position of the Point object. )
Usage
VGet Sequence.Object.LineObject1, var
VSet Sequence.Object.LineObject1, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
NOTE
)
var String variable that will contain the value of the property.
value String expression for the new value of the property.
Values
Any Line object which is located prior to the Point object can be specified as the LineObject1 property
value.
Default: None
Remarks
When a Point object is first created, the default LineObject1 property is set to None. However, if you want
to position a point on the midpoint of a line, then the LineObject1 property defines which Line object to
use. In this case the LineObject1 property must be set first and then the PointType property can be set to
MidPoint. A MidPoint of a line can only be specified for LineObject1. (i.e. you cannot specify the
MidPoint of the LineObject2 property.)
LineObject1 can also be used to define the 1st of 2 lines when you want to define a Point object position as
the intersection point between 2 lines. (LineObject2 defines the other Line to use for the intersection point.)
It is important to note that for each specific vision sequence, only those Line objects which are executed
prior to the Point object in the vision sequence steps will be available to use as LineObject1. (The order of
the vision object execution can be adjusted from the Sequence Tab.)
When using the point and click interface click on the LineObject1 property Value Field and a drop down
list will appear showing a list of available Line objects which can be used for the LineObject1 property.
Click on one of the choices and the value field will be set accordingly.
When using the Point-and-Click Object tab to set the LineObject1 property it is important to note that only
those objects which are defined prior to the Point object are displayed in the drop down list. This helps
reduce the chances of the user defining a Line object which isn't defined prior to the Point object.
NOTE
)
Vision Guide automatically checks which vision objects may be used as LineObject1 and only displays
those items in the LineObject1 drop down list.
See Also
Line Object, Object Tab, Point Object, PointType Property
64 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
LineObject2 Property
LineObject2 Property
Applies To
Vision Objects: Point
Description
Specifies the 2nd Line object to use for defining the position of a Point object when that position is defined
by the intersection point of 2 lines. (LineObject1 and LineObject2 together define 2 lines whose
intersection point can be defined as the position of the Point object.)
Usage
VGet Sequence.Object.LineObject2, var
VSet Sequence.Object.LineObject2, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
Values
Remarks
NOTE
)
var String variable that will contain the value of the property.
value String expression for the new value of the property.
Any Line object which is located prior to the Point object can be specified as the LineObject2 property
value.
Default: None
The LineObject2 property is only required when you want to define the position of a Point object as the
position of intersection between 2 Lines. In this case LineObject1 must also specify a Line object before
the PointType property can be set. Once the lines are defined for LineObject1 and LineObject2, the
PointType property can be set to Intersection. However, if either the LineObject1 or LineObject property is
not yet defined then an error will occur when trying to set the PointType property to Intersection.
It is important to note that for each specific vision sequence, only those Line objects which are executed
prior to the Point object in the vision sequence steps will be available to use as LineObject2. (The order of
the vision object execution can be adjusted from the Sequence Tab.)
When using the point and click interface click on the LineObject2 property Value Field and a drop down
list will appear showing a list of available Line objects which can be used for the LineObject2 property.
Click on one of the choices and the value field will be set accordingly.
When using the Point-and-Click Object tab to set the LineObject2 property it is important to note that only
those objects which are defined prior to the Point object are displayed in the drop down list. This helps
reduce the chances of the user defining a Line object which isn't defined prior to the Point object.
Vision Guide automatically checks which vision objects may be used as LineObject2 and only displays
NOTE
)
those items in the LineObject2 drop down list.
See Also
Line Object, LineObject1 Property, Object Tab, Point Object, PointType Property
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 65
MaxArea Property
MaxArea Property
(Maximum Area)
Applies To
Vision Objects: Blob
Description
Defines the upper Area limit for the Blob Object. For a Blob to be found it must have an Area result below
the value set for MaxArea property.
Usage
VGet Sequence.Object.MaxArea, var
VSet Sequence.Object.MaxArea, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Long variable that will contain the value of the property.
value Long expression for the new value of the property.
Values
1 - (video width x video height)
Default: 100000
Remarks
The purpose of the MinArea and MaxArea Properties is to set a range for the Blob object such that if a blob
area does not fit within the range then it is considered not found. (i.e. the Found result is returned as False.)
When a new Blob object is created the range between the MinArea property and MaxArea property is quite
large because the default values are set at 25 and 100,000 respectively. This means that in most situations
the Blob object will return a Found result as true since the range for Blobs is so wide. In most applications
it is useful to set a tighter range between the MinArea and MaxArea Properties but of course there values
will vary from application to application. The point here is to remember to set the MinArea and MaxArea
Properties and don't just rely on the default settings.
Do no set the range between MinArea and MaxArea too large. If the range is too large, it may result in
false detection.
See Also
Area Result, Blob Object, MinArea Property, MinMaxArea Property, Object Tab
66 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
MaxLength Property
MaxLength Property
Applies To
Vision Objects: Line
Description
Defines the upper length limit for the Line object. For a Line to be found it must have a Length result
below the value set for MaxLength property.
Usage
VGet Sequence.Object.MaxLength, var
VSet Sequence.Object.MaxLength , value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Long variable that will contain the value of the property.
value Long expression for the new value of the property.
Values
0 or higher
Default: 1000
Remarks
The purpose of the MinLength and MaxLength Properties is to set a range for the Line object such that if a
line length does not fit within the range then it is considered not found. (i.e. the Found result is returned as
False.)
This is useful when you want to gauge the length of a line in millimeters. To gauge a line in pixels, see the
MinPixelLength and MaxPixelLength properties.
See Also
Line Object, MinLength Property, MinPixelLength Property, MaxPixelLength Property, Object Tab
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 67
MaxPixelLength Property
MaxPixelLength Property
Applies To
Vision Objects: Line
Description
Defines the upper pixel length limit for the Line object. For a Line to be found it must have a PixelLength
result below the value set for MaxPixelLength property.
Usage
VGet Sequence.Object.MaxPixelLength, var
VSet Sequence.Object.MaxPixelLength , value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
0 or higher in pixels
Default: 1000
Remarks
The purpose of the MinPixelLength and MaxPixelLength Properties is to set a range for the Line object
such that if a line length does not fit within the range then it is considered not found. (i.e. the Found result
is returned as False.)
This is useful when you want to gauge the length of a line in pixels. To gauge a line in Millimeters, see the
MinLength and MaxLength properties. The default settings allow most lines to be found.
See Also
Line Object, MinLength Property, MaxLength Property, MinPixelLength Property, Object Tab
68 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
MaxX Result
MaxX Result
Applies To
Vision Objects: Blob
Description
Returns the maximum X pixel coordinate of the blob extrema.
Usage
VGet Sequence.Object.MaxX [(result)] , var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
The value returned is always in pixels and may be from 1 - video width.
Remarks
The MinX, MaxX, MinY, and MaxY results together define a blob's smallest enclosing rectangle that is
aligned with the coordinate axes and completely encloses the blob. This rectangle is known as the Extrema.
The MinX, MaxX, MinY, and MaxY results can hold fractional values. For example, 100.5 would be
between the 100 and 101 pixels.
Returns the maximum Y pixel coordinate of the blob extrema.
Usage
VGet Sequence.Object.MaxY [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
Real number in pixels.
Remarks
The MinX, MaxX, MinY, and MaxY results together define a blob's smallest enclosing rectangle that is
aligned with the coordinate axes and completely encloses the blob. This rectangle is known as the Extrema.
The MinX, MaxX, MinY, and MaxY results can hold fractional values. For example, 100.5 would be
between the 100 and 101 pixels.
Defines the lower Area limit for the Blob object. For a Blob to be found it must have an Area result above
the value set for MinArea property.
Usage
VGet Sequence.Object.MinArea, var
VSet Sequence.Object.MinArea , value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Long variable that will contain the value of the property.
value Long expression for the new value of the property.
Values
1 - MaxArea in pixels
Default: 25
Remarks
The purpose of the MinArea and MaxArea Properties is to set a range for the Blob object such that if a blob
area does not fit within the range then it is considered not found.
When a new Blob object is created the range between the MinArea property and MaxArea property is quite
large because the default values are set at 25 and 100,000 respectively. This means that in most situations
the Blob object will return a Found result as true since the range is large. In most applications it is useful to
set a tighter range between the MinArea and MaxArea Properties but of course there values will vary from
application to application. The point here is to remember to set the MinArea and MaxArea Properties and
don't just rely on the default settings.
Do no set the range between MinArea and MaxArea too large. If the range is too large, it may result in
false detection.
See Also
Area Result, Blob Object, MaxArea Property, Object Tab
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 71
MinLength Property
MinLength Property
Applies To
Vision Objects: Line
Description
Defines the lower length limit for the Line object. For a Line to be found it must have a Length result
above the value set for MinLength property.
Usage
VGet Sequence.Object.MinLength, var
VSet Sequence.Object.MinLength , value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
Real number in millimeters
Default: 0
Remarks
The purpose of the MinLength and MaxLength Properties is to set a range for the Line object such that if a
line length does not fit within the range then it is considered not found.
This is useful when you want to gauge the length of a line in millimeters. To gauge a line in pixels, see the
MinPixelLength and MaxPixelLength properties.
See Also
Line Object, MaxLength Property, MinPixelLength Property, MaxPixelLength Property, Object Tab
72 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
MinMaxArea Property
MinMaxArea Property
Runtime only
Applies To
Vision Objects: Blob
Description
Defines the lower and upper Area limits for the Blob object. For a Blob to be found it must have an Area
result greater than the MinArea property and less than the MaxArea property. (MinMaxArea property was
added to allow easy manipulation of both the MinArea and MaxArea Properties from one function call in
the SPEL+ language.)
Usage
VGet Sequence.Object.MinMaxArea, minVar, maxVar
VSet Sequence.Object.MinMaxArea, minVar, maxVar
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
minVar Long variable containing the minimum area to get from or set to the MinArea property
maxVar Long variable containing the maximum area to get from or set to the MaxArea property
Values
For details, refer to MaxArea Property or MinArea Property.
Remarks
+
The purpose of the MinMaxArea property is to provide a single function call from the SPEL
allow the setting of both the MinArea and MaxArea Properties.
Do no set the MinMaxArea setting too large. If the range is too large, it may result in false detection.
See Also
Area Result, Blob Object, MaxArea Property, MinArea Property, Object Tab
language to
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 73
MinPixelLength Property
MinPixelLength Property
Applies To
Vision Objects: Line
Description
Defines the lower length limit for the Line object. For a Line to be found it must have a PixelLength result
above the value set for MinPixelLength property.
Usage
VGet Sequence.Object.MinPixelLength, var
VSet Sequence.Object.MinPixelLength , value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the property.
value Real expression for the new value of the property.
Values
0 or higher real number in pixels
Default: 0
Remarks
The purpose of the MinPixelLength and MaxPixelLength Properties is to set a range for the Line object
such that if a line pixellength does not fit within the range then it is considered not found.
This is useful when you want to gauge the length of a line in pixels. To gauge a line in Millimeters, see the
MinLength and MaxLength properties. The default settings allow most lines to be found.
See Also
Line Object, MaxLength property, MinLength property, MaxPixelLength property, Object Tab
74 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
MinX Result
MinX Result
Applies To
Vision Objects: Blob
Description
Returns the minimum X pixel coordinate of the blob extrema.
Usage
VGet Sequence.Object.MinX [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
Real number in pixels
Remarks
The MinX, MaxX, MinY, and MaxY results together define a blob's smallest enclosing rectangle that is
aligned with the coordinate axes and completely encloses the blob. This rectangle is known as the extrema.
The MinX, MaxX, MinY, and MaxY results can hold fractional values. For example, 100.5 would be
between the 100 and 101 pixels.
Returns the minimum Y pixel coordinate of the blob extrema.
Usage
VGet Sequence.Object.MinY [(result)], var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Real variable that will contain the value of the result.
result Optional result number. If omitted, the result number is the CurrentResult. Used for objects
that return multiple results.
Values
Real number in pixels
Remarks
The MinX, MaxX, MinY, and MaxY results together define a blob's smallest enclosing rectangle that is
aligned with the coordinate axes and completely encloses the blob. This rectangle is known as the Extrema.
The MinX, MaxX, MinY, and MaxY results can hold fractional values. For example, 100.5 would be
between the 100 and 101 pixels.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var String variable that will contain the value of the property.
value String expression for the new value of the property.
Values
Self Use the model for this object to search with.
objectName Use the model for this object.
Default: Self
Remarks
The ModelObject property enables you to use one model for several objects of the same type. For example,
if you have 5 polar objects that all search for the same part, you can teach the model for the first polar
object, then set the ModelObject for the remaining polar objects to "Polar01" (the first polar object).
Note that you cannot set the ModelObject property to an object whose ModelObject property is not 'Self'.
See Also
Object Tab
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 77
ModelOK Property
ModelOK Property
Runtime only
Applies To
Vision Objects: Correlation, Geometric, Polar
Description
Returns the status of an object's model.
Usage
VGet Sequence.Object.ModelOK, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varBoolean variable that will contain the value of the property.
Values
False
True
Remarks
If the model has been taught, ModelOK will return true. You can ensure that the sequence will run before
running a sequence.
See Also
ModelObject Property
78 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
ModelOrgAutoCenter Property
ModelOrgAutoCenter Property
Applies To
Vision Objects: Correlation, Geometric
Description
A model has a fixed reference point by which we describe its location in an image. This point is referred to
as the model's origin. The ModelOrgAutoCenter property causes the model origin to be placed at the
center of the model window automatically.
Usage
VGet Sequence.Object.ModelOrgAutoCenter, var
VSet Sequence.Object.ModelOrgAutoCenter, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
Values
Remarks
NOTE
)
See Also
var Boolean variable that will contain the value of the property.
value Integer expression for the new value of the property.
False Do not cause the model origin to be automatically positioned
True Automatically position the model origin at the center of the model window
Default: True
The model origin may lie anywhere within the region defined by the model window. The origin's
coordinates define the model origin relative to the model window's upper left corner, that is, relative to the
location of element [0][0] of the model window that defines the model.
The ModelOrgAutoCenter property causes the model origin to be positioned automatically in the center of
the model window whenever the model window is moved or resized.
If the ModelOrgAutoCenter property is set to True, then the ModelOrgX and ModelOrgY Properties cannot
be used to reposition the model origin.
Anatomy of a Vision Object, Correlation Object, Geometric Object, ModelOrgX Property, ModelOrgY
Property, Object Tab
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 79
ModelOrgX Property
ModelOrgX Property
Applies To
Vision Objects: Correlation, Geometric
Description
A model has a fixed reference point by which we describe its location in an image. This point is referred to
as the model origin. The ModelOrgX property contains the X coordinate value of the model origin.
Usage
VGet Sequence.Object.ModelOrgX, var
VSet Sequence.Object.ModelOrgX, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
The ModelOrgX property can be set between 1-255 because the model window is limited in the X direction
to 255 pixels. It should be noted that the ModelOrgX defines the X coordinate of the model origin with
respect to the model's upper left corner.
Default: The model origin is placed in the center of the model window when a new object is created.
Remarks
The model origin may lie anywhere within the model window Region. The origin's coordinates define the
model origin relative to the model's upper left corner, that is, relative to the location of element [0][0] of the
image that defines the model.
When you create a new Correlation, the model origin is set to the center of the model window. However,
the user may modify this position by typing in a new X and Y positions into the ModelOrgX and
ModelOrgY Properties or by simply clicking on the model origin (the crosshair shown in the middle of the
model window) and moving it to the position desired.
The user can also modify the model origin automatically by setting the ModelOrgAutoCenter property to
True. If the ModelOrgAutoCenter property is set to True then the model origin is automatically set to the
center of the model window.
NOTE
)
If the ModelOrgAutoCenter property is set to True, the ModelOrgX property cannot be used to reposition
the model origin.
See Also
Anatomy of a Vision Object, Correlation Object, Geometric Object, ModelOrgAutoCenter Property,
ModelOrgY Property, Object Tab
80 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
ModelOrgY Property
ModelOrgY Property
Applies To
Vision Objects: Correlation, Geometric
Description
A model has a fixed reference point by which we describe its location in an image. This point is referred to
as the model's Origin. The ModelOrgY property contains the Y coordinate value of the model's origin.
Usage
VGet Sequence.Object.ModelOrgY, var
VSet Sequence.Object.ModelOrgY, value
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
NOTE
)
var Integer variable that will contain the value of the property.
value Integer expression for the new value of the property.
Values
Basically, the ModelOrgY property can be set between 1-255. However, it should be noted that the
ModelOrgY defines the Y coordinate of the model origin with respect to the model's upper left corner.
Default: The model origin is placed in the center of the model window when a new object is created.
Remarks
The model origin may lie anywhere within the model's bounds. The origin's coordinates define the model
origin relative to the model's upper left corner, that is, relative to the location of element [0][0] of the image
that defines the model.
When you create a new Correlation object, the model origin is set to the center of the model window.
However, the user may modify this position by typing in a new X and Y positions into the ModelOrgX and
ModelOrgY Properties or by simply clicking on the model origin (the crosshair shown in the middle of the
model window) and moving it to the position desired.
The user can also modify the model origin automatically by setting the ModelOrgAutoCenter property to
True. If the ModelOrgAutoCenter property is set to True then the model origin is automatically set to the
center of the model window.
If the ModelOrgAutoCenter property is set to True, the ModelOrgY property cannot be used to reposition
the model origin.
See Also
Anatomy of a Vision Object , Correlation Object, Geometric Object, ModelOrgAutoCenter Property,
ModelOrgX Property, Object Tab
Vision Guide 5.0 Reference (Ver.5.3) Rev.1 81
ModelWin Property
ModelWin Property
Runtime only
Applies To
Vision Objects: Correlation, Geometric
Description
Defines the position and size of the model window for Correlation and Geometric objects.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
LeftVar Integer variable representing the leftmost position of the model window (in Pixels).
TopVar Integer variable representing the uppermost position of the model window (in Pixels).
WidthVar Integer variable representing the width of the model window (in Pixels).
HeightVar Integer variable representing the height of the model window (in Pixels).
Values
All Values are in Pixels. See the ModelWinTop, ModelWinLeft, ModelWinWidth, and ModelWinHeight
Properties for exact value data.
Remarks
The ModelWin property was added to provide easy access to the ModelWinTop, ModelWinLeft,
ModelWinWidth and ModelWinHeight Properties from the SPEL
allows the setting of all 4 Properties. There are cases where the user may want to define the position and
size of the model window dynamically and for that reason the ModelWin property was created.
The ModelWin property can be applied to the Correlation and Geometric objects. Each of these object
types have rectangular model windows used to define the position and size of the Model.
Defines the height of the model window used for Correlation and Geometric object models.
Usage
VGet Sequence.Object.ModelWinHeight, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varInteger variable that will contain the value of the property.
Values
Integer number in pixels from 10 - 255.
Default: 50
Remarks
The model window always fits inside the Search Window.
The Correlation and Geometric objects have rectangular model windows which define the position and size
of the model to be taught. The ModelWinHeight property is set automatically when the user drags the
upper or lower horizontal sides of the model window.
Keep in mind that larger model windows cause the taught Model to be bigger, which in turn cause the
execution time to increase.
The ModelWinHeight property is available from both the Vision Guide window Object tab and from the
+
SPEL
Language. The easiest way to set the ModelWinHeight is to simply click on the upper or lower
horizontal sides of the model window and then drag them vertically.
It is also possible to set a specific height value for the ModelWinHeight property. Click on the
ModelWinHeight property Value Field and simply enter in the value which you would like to set the
ModelWinHeight property to. Once the user moves the cursor off the value field, the ModelWinHeight
will be adjusted for the associated vision object. Note that the additional height is added to the lower side
of the model window. This is because the upper most position of the model window is fixed according to
the ModelWinTop property.
Defines the left most position of the model window for Correlation and Geometric objects.
Usage
VGet Sequence.Object.ModelWinLeft, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varInteger variable that will contain the value of the property.
Values
Integer number in pixels from 1 - video width
Remarks
The ModelWinLeft property is available for the Correlation and Geometric objects only since those are the
only vision objects which use a Model to define a pattern to search for. The model window always fits
inside the Search Window.
The Correlation and Geometric objects have rectangular model windows which define the position and size
of the model to be taught. The ModelWinLeft property is set automatically when the user drags the entire
model window to a new location or when the leftmost side of the model window is dragged to resize the
model window.
The ModelWinLeft property is available from both the Vision Guide window Object Tab and from the
+
Language. The easiest way to set the ModelWinLeft position is to simply click down on one of the
SPEL
sides of the model window and then drag the model window to a new position. You can also click on the
leftmost vertical side of the model window at the center of the vertical line where the leftmost window
handle is (the small square on the left vertical side of the Model window). You will see the mouse pointer
change to a two direction horizontal arrow. Now drag the leftmost vertical side of the model window and
you will see the size of the model change. Release the mouse button when you want to set the position.
It is also possible to set a specific value for the ModelWinLeft property. Click on the ModelWinLeft
property Value Field in the Object tab and simply enter in the value which you would like to set the
ModelWinLeft property to. Once the user moves the cursor off the value field, the leftmost position of the
model window will be adjusted for the associated vision object.
Defines the upper most position of the model window for Correlation and Geometric objects.
Usage
VGet Sequence.Object.ModelWinTop, var
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varInteger variable that will contain the value of the property.
Values
Integer number in pixels from 1 - video height
Remarks
The ModelWinTop property is available for the Correlation and Geometric objects only since those are the
only vision objects which use a model to define a pattern to search for. The model window always fits
inside the Search Window.
The Correlation and Geometric objects have rectangular model windows which define the position and size
of the model to be taught. The ModelWinTop property is set automatically when the user drags the entire
model window to a new location or when the topmost side of the model window is dragged to resize the
model window.
The ModelWinTop property is available from both the Vision Guide window Object tab and from the
+
Language. The easiest way to set the ModelWinTop position is to simply click on the top or bottom
SPEL
horizontal side of the model window and then drag the model window to a new position. You can also
click on the uppermost horizontal side of the model window at the center of the vertical line where the
uppermost side window handle is (the small square on the upper horizontal side of the Model window).
You will see the mouse pointer change to a two direction vertical arrow. Now drag the uppermost
horizontal side of the model window and you will see the size of the model change. Release the mouse
button when you want to set the position.
It is also possible to set a specific value for the ModelWinTop property. Click on the ModelWinTop
property Value Field and simply enter in the value which you would like to set the ModelWinTop property
to. Once the user moves the cursor off the value field, the uppermost position of the model window will be
adjusted for the associated vision object.
Sequence Name of a sequence or string variable containing a sequence name.
Object Name of an object or string variable containing an object name. The object must exist in the
specified sequence.
varInteger variable that will contain the value of the property.
Values
Integer number in pixels
Default: 50
Remarks
The model window always fits inside the search window.
The ModelWinWidth property is set automatically when the user drags the entire model window to a new
location or when one of the horizontal sides of the model window is dragged to resize the model window.
Keep in mind that larger model windows cause the taught Model to be larger, which in turn may cause the
execution time to increase.
The ModelWinWidth property is available from both the Vision Guide window Object tab and from the
+
Language. The easiest way to set the ModelWinWidth value is to simply click on the left or right
SPEL
vertical side of the model window and then drag the model window to a new position. The
ModelWinWidth property will be set automatically.
You can also click on the left or right vertical side of the model window at the center of the vertical line
where the window handle is (the small square on the upper horizontal side of the Model window). You
will see the mouse pointer change to a two direction horizontal arrow. Now drag the side of the model
window and you will see the of the model change in width. Release the mouse button when you want to set
the position.
It is also possible to set a specific value for the ModelWinWidth property. Click on the ModelWinWidth
property Value Field and simply enter in the value which you would like to set the ModelWinWidth
property to. Once the user moves the cursor off the value field, the uppermost position of the model
window will be adjusted for the associated vision object. Note that the additional width is added to the
right side of the model window. This is because the left most position of the model window is fixed
according to the ModelWinLeft property.
86 Vision Guide 5.0 Reference (Ver.5.3) Rev.1
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.