Motion Um002 en P
Motion Um002 en P
Motion Um002 en P
Original Instructions
WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous
environment, which may lead to personal injury or death, property damage, or economic loss.
ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property
damage, or economic loss. Attentions help you identify a hazard, avoid a hazard, and recognize the consequence.
IMPORTANT
Identifies information that is critical for successful application and understanding of the product.
Table of Contents
Summary of Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Motion Coordinate Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Where to Find Sample Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapter 1
Create and Configure a
Coordinate System
14
17
18
19
21
22
23
24
25
27
28
29
Chapter 2
Configure a Cartesian Coordinate Program an MCLM Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Blended Moves and Termination Types . . . . . . . . . . . . . . . . . . . . . . . . . 32
System
Example Ladder Diagram for Blended Instructions . . . . . . . . . . .
Bit State Diagrams for Blended Moves . . . . . . . . . . . . . . . . . . . . . . . . . .
Bit States at Transition Points of Blended Move
by Using Actual Tolerance or No Settle . . . . . . . . . . . . . . . . . . . . .
Bit States at Transition Points of Blended Move
by Using No Decel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bit States at Transition Points of Blended Move
by Using Command Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bit States at Transition Points of Blended Move by Using
Follow Contour Velocity Constrained or Unconstrained . . . . .
Choose a Termination Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Velocity Profiles for Collinear Moves. . . . . . . . . . . . . . . . . . . . . . . .
Symmetric Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Triangular Velocity Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Blending Moves at Different Speeds. . . . . . . . . . . . . . . . . . . . . . . . .
33
35
35
36
37
38
39
41
43
45
46
Chapter 3
Configure Kinematics Coordinate Motion Calculate Transform Position (MCTP) . . . . . . . . . . . . . . . . . 47
Motion Coordinated Shutdown Reset (MCSR) . . . . . . . . . . . . . . . . . 47
Systems
Useful Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Table of Contents
Chapter 4
Configure an Articulated
Independent Robot
Reference Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Methods to Establish a Reference Frame . . . . . . . . . . . . . . . . . . . . . . . .
Method 1 - Establishing a Reference Frame . . . . . . . . . . . . . . . . . .
Method 2 - Establishing a Reference Frame . . . . . . . . . . . . . . . . . .
Work Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Link Lengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Base Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
End-effector Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delta Robot Geometries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configure a Delta Three-dimensional Robot . . . . . . . . . . . . . . . . . . . .
Establish the Reference Frame for a Delta
Three-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calibrate a Delta Three-dimensional Robot. . . . . . . . . . . . . . . . . .
Alternate Method for Calibrating a Delta
Three-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configure Zero Angle Orientations for Delta
Three-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Identify the Work Envelope for a Delta
Three-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Define Configuration Parameters for a Delta
Three-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configure a Delta Two-dimensional Robot . . . . . . . . . . . . . . . . . . . . .
Establish the Reference Frame for a Delta
Two-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calibrate a Delta Two-dimensional Robot . . . . . . . . . . . . . . . . . . .
Identify the Work Envelope for a Delta
Two-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Define Configuration Parameters for a Delta
Two-dimensional Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configure a SCARA Delta Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Establish the Reference Frame for a
SCARA Delta Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calibrate a SCARA Delta Robot. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Identify the Work Envelope for a
SCARA Delta Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Define Configuration Parameters for a
SCARA Delta Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configure a Delta Robot with a
Negative X1b Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arm Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
55
56
57
57
59
60
61
62
62
62
64
64
65
65
67
69
71
72
73
73
74
76
76
77
78
78
80
81
Table of Contents
81
81
82
83
83
84
84
84
86
87
88
89
Chapter 5
Configure an Articulated
Dependent Robot
Reference Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Methods to Establish a Reference Frame . . . . . . . . . . . . . . . . . . . . . . . .
Method 1 - Establishing a Reference Frame . . . . . . . . . . . . . . . . . .
Method 2 - Establishing a Reference Frame . . . . . . . . . . . . . . . . . .
Work Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Link Lengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Base Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
End-effector Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
93
94
95
96
97
97
98
99
Chapter 6
Configure a Cartesian Gantry
Robot
Chapter 7
Configure a Cartesian H-bot
Table of Contents
Chapter 8
Configure Camming
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Summary of Changes
This manual contains new and updated information as indicated in the
following table.
Topic
Page
Moved the Error Codes (ERR) for Coordinate Motion Instructions Appendix to
MOTION-RM002
107
Summary of Changes
Notes:
Preface
Motion Coordinate
Instructions
Initiate a single or multi-dimensional linear coordinated move for the specified axes
within a Cartesian coordinate system.
Relay ladder
Structured text
Initiate a two- or three-dimensional circular coordinated move for the specified axes
within a Cartesian coordinate system.
Relay ladder
Structured text
Initiate a change in path dynamics for coordinate motion active on the specified
coordinate system.
Relay ladder
Structured text
Relay ladder
Structured text
Initiate a controlled shutdown of all of the axes of the specified coordinate system.
Relay ladder
Structured text
Relay ladder
Structured text
Calculate the position of one coordinate system with respect to another coordinate
system.
Relay ladder
Structured text
Initiate a reset of all of the axes of the specified coordinate system from the shutdown
state to the axis ready state and clear the axis faults.
Relay ladder
Structured text
Use the Studio 5000 Logix Designer application Start Page (Alt F9) to find
the sample projects.
Preface
Additional Resources
10
Description
Preface
11
Preface
Notes:
12
Chapter
Topic
Page
14
17
18
In the Studio 5000 Logix Designer application, you use the Coordinate
System tag to configure a coordinate system. A coordinate system is a grouping
of one or more primary and ancillary axes that you create to generate
coordinated motion.
You can configure the coordinate system with one, two, or three dimensions.
The programming software supports these types of geometry:
Cartesian
Articulated Dependent
Articulated Independent
Selective Compliant Assembly Robot Arm (SCARA) Independent
Delta three-dimensional
Delta two-dimensional
SCARA Delta
Figure 1 - Coordinate Systems with Orthogonal Axes
13
Chapter 1
Use the Coordinate System tag to set the attribute values that the Multi-Axis
Coordinated Motion instructions use in your motion applications. The
Coordinate System tag must exist before you can run any of the Multi-Axis
Coordinated Motion instructions.
Now you make the following configurations:
Introduce the COORDINATE_SYSTEM data type
Associate the coordinate system to a Motion Group
Associate the axes to the coordinate system
Set the dimension
Define the values that are later used by the operands of the Multi-Axis
Motion Instructions
The information included when you configure the Coordinate System tag
defines the values for Coordination Units, Maximum Speed, Maximum
Acceleration, Maximum Deceleration, Actual Position Tolerance, and
Command Position Tolerance.
14
Chapter 1
Use the parameter descriptions in Table 1 to help you configure your new tag.
15
Chapter 1
Description
Name
Type a relevant name for the new tag. The name can be up to 40 characters and can be composed of letters, numbers, or
underscores (_).
Description
Type a description of the tag. This field is optional and is used for annotating the tag.
Type
Use the pull-down menu to select what type of tag to create. For a coordinate system, the only valid choices are Base and
Alias. If you select either Produced or Consumed, it generates an error when the OK button is pressed.
Base refers to a normal tag (selected by default).
Alias refers to a tag that references another tag with the same definition. Special parameters appear on the New Tag
dialog box that lets you identify to which base tag the alias refers.
Alias For
If you selected Alias as the tag Type, enter the name of the associated Base Tag.
Data Type
The Data Type field defines the size and layout of memory that is allocated when the tag is created. Select
COORDINATE_SYSTEM.
Scope
Choose the Scope for the tag. The scope defines the range at which tags and routines can be created. A Coordinate System
Tag can only be configured at the Controller Scope.
External Access
Choose whether the tag has Read/Write, Read Only, or no (None) access from external applications such as HMIs.
Style
The Style parameter is not activated. No entry for this field is possible.
After the information for the tag is entered, you have these options.
Click OK to create the tag and automatically place it in the Ungrouped Axes folder or the Motion Group if the tag was
initiated from the Motion Group menu.
Click Open COORDINATE_SYSTEM Configuration to invoke the Coordinate System Tag Wizard after you click Create. The
wizard helps you to configure the Coordinate System tag.
Constant
To prevent executing logic from writing values to the tag, check the Constant checkbox. The state of the Constant checkbox
depends on the type of tag selected. It appears dimmed under the follow conditions.
The tag is an alias tag or a consumed tag.
The FactoryTalk Security action for changing the Constant Value property of a tag is unavailable and the tag is not in
the Add-On Instruction definition scope.
You do not have permissions to modify tag properties (the FactoryTalk Security Tag Modified is denied) and that tag is
not in the Add-On Instruction definition scope.
The date type of the tag is not a Data Table backed type.
The usage of the tag is not InOut.
The redundancy controller is in any state that does not allow changes.
The controller has been locked online from another computer.
The controller is safety secured and the tag is a safety tag or a safety mapped tag.
The scope is an equipment phase but the Equipment Phase feature is not activated in the current Logix Designer
application license.
The controller is in hard Run mode.
The Add-On Instruction is in Source Protection mode.
You are not allowed to modify Add-On Instructions (FactoryTalk Security Add-On Instruction Modify is Denied) and the
tag is in Add-On Instruction definition scope.
For details about FactoryTalk Security see FactoryTalk Help:
Start > Programs > Rockwell Software > FactoryTalk Tools > FactoryTalk Help.
Note: If the properties of the tag modification (for example, Constant Tag property), no longer apply and the Constant
checkbox was previously selected, the Constant checkbox is not checked.
16
Chapter 1
The Coordinate System Wizard takes you through the Coordinate System
Properties dialog boxes. It is not necessary to use the Wizard dialogs to
configure your coordinate system. Once it has been created, you can access the
Coordinate System Properties dialog box by choosing Properties of the menu.
See Edit Coordinate System Properties on page 18 for detailed information on
how to enter configuration information.
Table 2 - Coordinate System Dialog Box Descriptions
Wizard or Dialog Box
Description
General
Geometry
The Geometry dialog box allows you to configure key attributes that are related to
non-Cartesian geometry and shows the bitmap of the associated geometry.
Offset
The Offset dialog box allows you to configure the offsets for the base and end
effector. This dialog box shows the bitmaps for the offsets related to the geometry.
Units
The Units dialog box allows you to determine the units that define the coordinate
system. At this dialog box, you define the Coordination Units and the Conversion
Ratios. This dialog box has the same fields as the Units tab found under Coordinate
System Properties.
Dynamics
Use the Dynamics dialog box for entering the Vector values used for Maximum
Speed, Maximum Acceleration, and Maximum Deceleration. It is also used for
entering the Actual and Command Position Tolerance values. This dialog box has the
same fields as the Dynamics tab found under Coordinate System Properties.
Manual Adjust
The Manual Adjust button is inactive when creating a Coordinate System tag via the
Wizard dialog boxes. It is active on the Dynamics tab of the Coordinate System
Properties dialog box. It is described in detail in the Editing Coordinate System
Properties later in this chapter.
Tag
The Tag dialog box allows you to rename your Tag, edit your description, and review
the Tag Type, Data Type, and Scope information.
The only fields that you can edit on the Tag dialog box are Name and Description.
These fields are the same fields as on the New Tag dialog box and the Coordinate
System Properties Tag tab.
17
Chapter 1
Create your Coordinate System in the New Tag dialog box, and then configure
it. You can make your configuration selections from the Coordinate System
Properties dialog box.
You can also use the Coordinate System Properties dialog boxes to edit an
existing Coordinate System tag. These dialog boxes have a series of tabs that
access a specific dialog box for configuring the different facets of the
Coordinate System. Make the appropriate entries for each of the fields. An
asterisk appears on the tab to indicate that changes have been made but not
implemented. Click Apply to save your selections.
TIP
When you configure your coordinate system, some fields can be unavailable
(dimmed) because of choices you made in the New Tag dialog box.
The name of the Coordinate System tag that is being edited appears in the title
bar to the right of Coordinate System Properties.
18
Chapter 1
General Tab
Use this tab to do the following for a coordinate system:
Assign the coordinate system, or terminate the assignment of a
coordinate system, to a Motion Group.
Choose the type of coordinate system you are configuring.
Change the number of dimensions, that is, the number of axes.
Specify the number of axes to transform.
Assign axes to the coordinate system tag.
Enable/Disable automatic updating of the tag.
Logix Designer application supports only one Motion Group tag per
controller.
Table 3 - General Tab Field Descriptions
Item
Description
Motion Group
Motion Group is where you can select and display the Motion Group to which the
Coordinate System is associated.
A Coordinate System that is assigned to a Motion Group appears in the Motion Groups
branch of the Controller Organizer, under the selected Motion Group subbranch.
If you select <none>, it terminates the Motion Group association, and moves the
coordinate system to the Ungrouped Axes subbranch of the Motions Groups branch.
Ellipsis ()
Ellipsis opens the Motion Group Properties dialog box for the Assigned Motion Group
where you can edit the Motion Group properties. If no Motion Group is assigned to this
coordinate system, this dialog box is unavailable.
New Group
New Group opens the New Tag dialog box where you can create a Motion Group tag.
This option is enabled only if no Motion Group tag has been created.
Type
Type selects and displays the type of coordinate system (robot type) in the Motion
Group. Available choices are Cartesian, Articulated Dependent, Articulated
Independent, SCARA Independent, Delta, and SCARA Delta. The type of coordinate
system you choose in this field changes the configuration tabs that are available.
Dimension
Enter the coordinate system dimensions, that is, the number of axes, that this
coordinated system is to support. The options are 1, 2, or 3 to keep with its support of
a maximum of three axes. Changes in the Dimension spin also reflect in the Axis Grid
by either expanding or contracting the number of fields available. Data is set back to
the defaults for any axis that is removed from the Axis Grid due to reducing the
Dimension field.
Transform Dimension
Enter the number of axes in the coordinate system that you want to transform. The
options are 1, 2, or 3 to keep with its support of a maximum of three axes. The number
of axes that you transform must be equal to or less than the specified coordinate
system dimensions.
The transform function always begins at the first axis. For example, if you have
specified that the coordinate system has three axes, but indicate only that two axes be
transformed, then axes 1 and 2 are transformed. In other words, you cannot specify
that only axes number 2 and number 3 are to be transformed.
Axis Grid
The Axis Grid is where you associate axes to the Coordinate System. There are five
columns in the Axis Grid that provide information about the axes in relation to the
Coordinate System.
[] (Brackets)
The Brackets column displays the indices in tag arrays used with the current
coordinate system. The tag arrays that are used in multi-axis coordinated motion
instructions map to axes by using these indices.
Coordinate
The text in this column X1, X2, or X3 (depending on the entry to the Dimension field)
is used as a cross-reference to the axes in the grid. For a Cartesian system, the
mapping is simple.
19
Chapter 1
20
Item
Description
Axis Name
The Axis Name column is a list of combo boxes (the Dimension field determines this
number) used to assign axes to the coordinate system.
The pull-down lists display all Base Tag axes defined in the project. (Alias Tag axes do
not display in the pull-down list.) They can be axes that are associated with the
motion group, axes associated with other coordinated systems, or axes from the
Ungrouped Axes folder. Choose an axis from the pull-down list.
The default is <none>. It is possible to assign fewer axes to the coordinate system
than the maximum for the Dimension field. However, you receive a warning when you
verify the coordinate system and, if left in that state, the instruction generates a
runtime error. You can assign an axis only once in a coordinate system. Ungrouped
axes also generate a runtime error.
Ellipsis (...)
The Ellipsis in this column takes you to the Axis Properties pages for the axis listed in
the row.
Coordination Mode
The Coordination Mode column indicates the axes that are used in the velocity vector
calculations. If the type of coordinate system is specified as Cartesian, then Primary
axes are used in these calculations. For non-Cartesian coordinate systems, the
coordination mode for the axes defaults to Ancillary.
The Enable Coordinate System Auto Tag Update checkbox lets you determine whether
the Actual Position values of the current coordinated system are automatically
updated during operation.
Use the checkbox to enable this feature. The Coordinate System Auto Tag Update
feature can ease your programming burden if you must add GSV statements to the
program to get the desired result. However, by enabling this feature, the Coarse
Update rate is increased.
Whether to use the Coordinate System Auto Tag Update feature depends upon the
trade-offs between ease in programming and increase in execution time. You can
lower the execution time if you enable this feature in initial system programming to
formulate the process and then disable it and enter the GSV statements in your
program.
If you enable this feature, it can result in some performance penalty.
Chapter 1
Geometry Tab
The Geometry tab of the Coordinate System Properties is where you can
specify the link lengths and zero angle orientation values for articulated robotic
arms.
The graphic that is displayed on this tab shows a typical representation of the
type of coordinate system you selected on the General tab. Your robot typically
looks similar to the one shown in the graphic, but can be different depending
on your application.
Be sure that the link lengths that are specified for an articulated coordinate
system are in the same measurement units as the affiliated Cartesian
coordinate system. Your system does not work properly if you are using
different measurement units.
21
Chapter 1
The number of fields available for configuration in the link lengths box is
determined by the combination of the following:
Values that are entered on the General tab for the type of coordinate
system
Total coordinate system dimensions
Transform dimensions
The link identifiers are L1 and L2 in the corresponding graphic. These fields
are not configurable for a Cartesian coordinate system.
Units Tab
The Units tab of the Coordinate System Properties is where you determine the
units that define the coordinate system. This dialog box is where you define the
Coordination Units and the Conversion Ratios.
Coordination Units
The Coordination Units field lets you define the units to be used for measuring
and calculating motion-related values such as position and velocity. The
coordination units do not need to be the same for each coordinate system.
Enter units that are relevant to your application and maximize ease of use.
When you change the Coordination Units, the second portion of the
Coordination Ratio Units automatically changes to reflect the new units.
Coordination Units is the default.
22
Chapter 1
Axis Grid
The Axis Grid of the Units dialog box displays the axis names that are
associated with the coordinate system, the conversion ratio, and the units that
are used to measure the conversion ratio.
Table 4 - Units Tab Description
Item
Description
Axis Name
The Axis Name column contains the names of the axes assigned to the coordinate system in
the General dialog box. These names appear in the order that they were configured into the
current coordinate system. You cannot edit this column from this dialog box.
Conversion Ratio
The Conversion Ratio column defines the relationship of axis position units to coordination
units for each axis. For example, there is a program the position units for an axis are in
millimeters and the axis is associated with a coordinate system whose units are in inches.
The conversion ratio for this axis/coordinate system association is 25.4/1 and can be
specified in the appropriate row of the Axis Grid.
The numerator can be entered as a float or an integer. The denominator must be entered
only as an integer.
Conversion Ratio
Units
The Conversion Ratio Units column displays the axis position units to coordination units
used. The Axis Position units are defined in the Axis Properties Units dialog box and the
coordination units are defined in Coordinated System Properties Units dialog box. These
values are dynamically updated when changes are made to either axis position units or
coordination units.
Offsets Tab
The Offsets tab of the Coordinate System Properties dialog box is where you
define the end effector and base offset values for the robotic arm. This tab
shows the top and/or sides view of a typical robotic arm, based on the type of
coordinate system and coordinate Transform dimension values specified on the
General tab. The number of axes associated with the coordinate system
determines the number of available offset fields in each box.
23
Chapter 1
When specifying the end effector and base offset values, be sure that the values
are calculated by using the same measurement units as the linked Cartesian
coordinate system.
For example, the manufacturer specifies the robot offset by using millimeter
units and you want to configure the robot by using inches. You must convert
the millimeter link measurements to inches and enter the values in the
appropriate offset fields.
Joints Tab
The Joints tab is accessible only if you are configuring or editing an articulated
coordinate system. This dialog box is where you define the Joint Conversion
Ratios. Joint axis units are always specified in degrees.
Table 5 - Joints Tab Field Descriptions
24
Item
Description
Axis Name
The Axis Name column displays the names of the axes associated to the coordinate system.
The names appear in the order that they were configured into the coordinate system. This
field is a read-only field.
Joint Ratio
The Joint Ratio column (shown in white) is divided into two columns that define the
relationship between the axis position units to the joint axis units. The left-half of the Joint
Ratio column is a configurable field that lets you specify a value for the axis position units
(numerator). The right-half of the Joint Ratio column is a configurable field that lets you
specify a value for the joint axis units (denominator). Keep in mind that Joint axis units are
always specified as degrees.
Joint Units
The Joint Units column is a read-only field that displays the configured axis position units
to the joint units. The Axis Position units are defined in the Axis Properties Units dialog
box. Joint units are always defined as degrees.
Chapter 1
Dynamics Tab
The Dynamics dialog box is accessible only if you are configuring a Cartesian
coordinate system. The Dynamics tab is for entering the Vector values used for
Maximum Speed, Maximum Acceleration, Maximum Deceleration, Maximum
Acceleration Jerk and Maximum Deceleration Jerk. It is also used for entering
the Actual and Command Position Tolerance values.
Vector Box
In the Vector box, values are entered for Maximum Speed, Maximum
Acceleration, Maximum Deceleration, Maximum Acceleration Jerk, and
Maximum Deceleration Jerk. The values are used by the Coordinated Motion
instructions in calculations when their operands are expressed as percent of
Maximum. The Coordination Units to the right of the edit boxes
automatically change when the coordination units are redefined in the Units
dialog box.
25
Chapter 1
Description
Maximum Speed
Enter the value for Maximum Speed to be used by the Coordinated Motion
instructions in calculating vector speed when speed is expressed as a percent of
maximum.
Maximum Acceleration
Enter the value for Maximum Acceleration to be used by the Coordinated Motion
instructions. This value determines the acceleration rate to apply to the
coordinate system vector when acceleration is expressed as a percent of
maximum.
Maximum Deceleration
The jerk parameters only apply to S-Curve profile moves by using these
instructions:
MCS
MCCD
MCCM
MCLM
The Maximum Acceleration Jerk rate of the coordinate system, in Coordination
Units/second3, defaults to 100% of the maximum acceleration time. The speed
and acceleration rate for this calculation are defined previously.
MaxAccel2
Speed
The Maximum Accel Jerk value that you enter is used when the motion
instruction is set with Jerk Units=% of Maximum. When a Multi-axis Motion
Instruction has Jerk Units=units per sec3, then the maximum acceleration jerk
value is derived from the motion instruction faceplate. The jerk units for the
motion instruction also allow for Jerk Units=% of Time, with 100% of Time. This
means that the entire S-Curve move has Jerk limiting. This is the default mode.
An S-Curve move with 0% of Time results in a trapezoidal profile and have 0%
Jerk limiting. If set manually, enter the value in units=Coordination Units/
second3 units. You can also use the Calculate button to view this value in terms
of units=% of Time.
Maximum Deceleration Jerk
The jerk parameters only apply to S-Curve profile moves by using these
instructions:
MCS
MCCD
MCCM
MCLM
The Maximum Deceleration Jerk rate of the coordinate system, in Coordination
Units/second3, defaults to 100% of the maximum deceleration time. The speed
and deceleration rate for the calculation are defined previously.
MaxDecel2
Speed
The Maximum Decel Jerk value that you enter is used when the motion
instruction is set with Jerk Units=% of Maximum. When a Multi-axis motion
instruction has Jerk Units=units per sec3, then the Max Deceleration Jerk value
is derived from the Motion Instruction faceplate. The jerk units for the motion
instruction also allow for Jerk Units=% of Time, with 100% of Time meaning
the entire S-Curve move has Jerk limiting, thus, the default mode. An S-Curve
move with 0% of Time results in a trapezoidal profile and has 0% Jerk limiting. If
set manually, enter the value in units=Coordination Units/second3 units. You
can also use the optional Calculate button to view the value in terms of units=%
of Time.
26
Chapter 1
Description
Actual
Enter the value in coordination units for Actual Position to be used by Coordinated Motion
instructions when they have a Termination Type of Actual Tolerance.
Command
Enter the value in coordination units for Command Position to be used by Coordinated
Motion instructions when they have a Termination Type of Command Tolerance.
These changes can be made either online or offline. The blue arrows to the
right of the fields indicate that they are immediate commit fields. This
indication means that the values in those fields are immediately updated to the
controller if online or to the project file if offline.
Reset
Reset reloads the values that were present at the time this dialog box was
entered. The blue arrow to the right of Reset means that the values are
immediately reset when you click Reset.
27
Chapter 1
Description
Check or clear this box to enable or disable Master Position Filter, respectively.
The default is cleared (disabled).
Master Position Filter, when enabled, effectively filters the specified master axis
position input to the slave axiss gearing or position camming operation. The
filter smooths out the actual position signal from the Master Axis, and thus
smooths out the corresponding motion of the Slave Axis. When this box is
checked, the Master Position Filter Bandwidth box is enabled.
Master Position Filter Bandwidth The Master Position Filter Bandwidth field is enabled when the Enable Master
Position Filter checkbox is checked.
This field controls the bandwidth for master position filtering.
Enter a value in Hz in this field to set the bandwidth for the Master Position
Filter.
A value of zero for Master Position Filter Bandwidth effectively disables the
master position filtering.
28
Chapter 1
Tag Tab
The Tag tab is for reviewing your Tag information and renaming the tag or
editing the description.
Use this tab to modify the name and description of the coordinate system.
When you are online, all parameters on this tab transition to a read-only state,
and cannot be modified. If you go online before you save your changes, all
pending changes revert to their previously saved state.
Table 8 - Tag Tab Field Descriptions
Item
Description
Name
Name displays the name of the current tag. You can rename the tag now. The name can be up
to 40 characters and can include letters, numbers, and underscores (_). When you rename a
tag, the new name replaces the old one in the Controller Organizer after you click OK or Apply.
Description
Description displays the description of the current tag, if any is available. You can edit this
description. The edited description replaces the existing description when you click OK or
Apply.
Tag Type
Tag Type indicates the type of the current Coordinate System tag. This type can be either a base
or an alias.
The field is not editable and is for informational purposes only.
Data Type
Data Type displays the data type of the current Coordinate System tag, which is always
COORDINATE_SYSTEM. This field cannot be edited and is for informational purposes only.
Scope
Scope displays the scope of the current Coordinate System tag. The scope for a Coordinate
System tag can be only controller scope. This field is not editable and is for informational
purposes only.
External Access
External Access displays the parameter that is chosen in the New Tag dialog box for whether
the tag has Read/Write, Read Only, or no (None) access from external applications such as
HMIs.
29
Chapter 1
Notes:
30
Chapter
Topic
Page
32
32
35
39
31
Chapter 2
Program an MCLM
Instruction
The following are the steps to program and test an MCLM instruction.
1. Configure motion axes in Logix Designer application.
The maximum number of axes that can be associated with one
Coordinate System is limited to three axes.
2. Create a Coordinate System Tag
The number of Coordinate System tags that can be created is 32. This
number is based on the fact that a maximum of 32 axes can be assigned
to a motion group and in the current implementation. Because only one
motion group can be created, the number of axes that can be created is
32.
3. Program an MCLM.
The Motion Coordinated Linear Move (MCLM) instruction performs
a linear move by using up to three axes in a Cartesian coordinate system.
As with all moves, you must specify, for example, absolute or
incremental, or speed. Speed is based on the vector move distance as
shown in this figure.
V distance = 5 + 15
32
To blend two MCLM or MCCM instructions, start the first one and queue
the second one. The tag for the coordinate system gives you two bits for
queueing instructions.
MovePendingStatus
MovePendingQueueFullStatus
Chapter 2
If Step = 2, then:
Move1 is already happening.
Move2 goes into the queue and waits for Move1 to complete.
When Move1 is complete:
Move2 moves the axes to a position of 10, 5.
33
Chapter 2
Then
MovePendingStatus bit = 1
MovePendingQueueFullStatus bit = 1
You cannot queue another instruction
MovePendingStatus bit = 0
MovePendingQueueFullStatus bit = 0
You can queue another instruction
The termination type operand for the MCLM or MCCM instruction specifies
how the currently executing move gets terminated. These illustrations show the
states of instruction bits and coordinate system bits that get affected at various
transition points (TP).
The termination types are:
0 - Actual tolerance
1 - No Settle
2 - Command Tolerance
3 - No Decel
4 - Follow Contour Velocity Constrained
5 - Follow Contour Velocity Unconstrained
6 - Command Tolerance Programmed
For further information on how to select a termination type, refer to Choose a
Termination Type on page 39.
34
Chapter 2
The following diagrams show bit states at the transition points for various
types of blended moves.
Table 10 shows the bit status at the various transition points shown in the
preceding graph with termination type of either Actual Tolerance or No Settle.
Table 10 - Bit Status at Transition Points with Actual Tolerance or No Settle Termination Type
Bit
TP1
TP2
TP3
Move1.DN
Move1.IP
Move1.AC
Move1.PC
Move2.DN
Move2.IP
Move2.AC
Move2.PC
cs1.MoveTransitionStatus
cs1.MovePendingStatus
cs1.MovePendingQueueFullStatus
35
Chapter 2
Table 11 shows the bit status at the various transition points shown in the
preceding graph with termination type of No Decel. For No Decel termination
type, distance-to-go for transition point TP2 is equal to deceleration distance
for the Move1 instruction. If Move 1 and Move 2 are collinear, then Move1.PC
is true at TP3 (the programmed end point of first move).
Table 11 - Bit Status with No Decel Termination Type
36
Bit
TP1
TP2
TP3
TP4
Move1.DN
Move1.IP
Move1.AC
Move1.PC
Move2.DN
Move2.IP
Move2.AC
Move2.PC
cs1.MoveTransitionStatus
cs1.MovePendingStatus
cs1.MovePendingQueueFullStatus
Chapter 2
Table 12 shows the bit status at the various transition points shown in the
preceding graph with termination type of Command Tolerance. For
Command Tolerance termination type distance-to-go for transition point TP2
is equal to Command Tolerance for the coordinate system cs1.
Table 12 - Bit Status with Command Tolerance Termination Type
Bit
TP1
TP2
TP3
TP4
Move1.DN
Move1.IP
Move1.AC
Move1.PC
Move2.DN
Move2.IP
Move2.AC
Move2.PC
cs1.MoveTransitionStatus
cs1.MovePendingStatus
cs1.MovePendingQueueFullStatus
37
Chapter 2
TP3
TP2
Y axis
TP1
X axis
38
Bit
TP1
TP2
TP3
Move1.DN
Move1.IP
Move1.AC
Move1.PC
Move2.DN
Move2.IP
Move2.AC
Move2.PC
cs1.MoveTransitionStatus
cs1.MovePendingStatus
cs1.MovePendingQueueFullStatus
Chapter 2
0 - Actual Tolerance
1 - No Settle
2 - Command Tolerance
3 - No Decel
t
Keep the speed constant except between moves
t
Transition into or out of a circle without stopping
t
Accelerate or decelerate across multiple moves
1 2 3 4
V
t
Use a specified Command Tolerance
39
Chapter 2
Example Path
0 - Actual Tolerance
Description
Move 1
Move 2
1 - No Settle
Move 1
Move 2
2, 6- Command Tolerance
Move 1
Move 2
The instruction stays active until the command position equals the target position.
At that point, the instruction is complete and a queued MCLM or MCCM instruction
can start.
The instruction stays active until the command position gets within the Command
Tolerance of the coordinate system. At that point, the instruction is complete and a
queued MCLM or MCCM instruction can start.
If you dont have a queued MCLM or MCCM instruction, the axes stop at the target
position.
To the
For the
3 - No Decel
40
Move 1
Move 2
The instruction stays active until the axes get to the deceleration point. At that
point, the instruction is complete and a queued MCLM or MCCM instruction can
start.
The deceleration point depends on whether you use a trapezoidal or S-Curve
profile.
If you dont have a queued MCLM or MCCM instruction, the axes stop at the
target position.
Termination Type
4 - Follow Contour Velocity
Constrained
Example Path
Move 1
Description
Move 2
Move 3
Move 1
Chapter 2
Move 2
Move 3
The instruction stays active until the axes get to the target position. At that point,
the instruction is complete and a queued MCLM or MCCM instruction can start.
This termination type works best with tangential transitions. For example, use it
to go from a line to a circle, a circle to a line, or a circle to a circle.
The axes follow the path.
The length of the move determines the maximum speed of the axes. If the
moves are long enough, the axes do not decelerate between moves. If the moves
are too short, the axes decelerate between moves.
This termination type is similar to the contour velocity constrained. It has these
differences:
Use this termination type to get a triangular velocity profile across several
moves. This reduces jerk.
To avoid position overshoot at the end of the last move, you must calculate the
deceleration speed at each transition point during the deceleration-half of the
profile.
You must also calculate the starting speed for each move in the deceleration half
of the profile.
Important Considerations
If you stop a move by using an MCS or by changing the speed to zero with an
MCCD during a blend and then resume the move by reprogramming the move
or by using another MCCD, it deviates from the path that displayed if the
move had not been stopped and resumed. The same phenomenon can occur if
the move is within the decel point of the start of the blend. In either case, the
deviation is most likely a slight deviation.
41
Chapter 2
Figure 4 - Velocity Profile of Two Collinear Moves When the Second Move has a Lower Velocity
than the First Move and Termination Type 2 or 6 is Used
The .PC bit is set, MCLM1 is over
Command Tolerance Point
MCLM2
MCLM1
Figure 5 shows the velocity profile of two collinear moves by using a Command
Tolerance (2) termination type. The second MCLM instruction has a higher
velocity than the first MCLM instruction. When the first MCLM instruction
reaches its Command Tolerance point, the move is over and the .PC bit is set.
Figure 5 - Velocity Profile of Two Collinear Moves When the Second Move has a Higher Velocity
than the First Move and Termination Type 2 or 6 is Used
MCLM2
MCLM1
Position
42
Chapter 2
Figure 6 - Velocity Profile of Two Collinear Moves When the Second Move has a Lower Velocity
than the First Move and Termination Type 3, 4, or 5 is Used
Decel Point
MCLM1
Position
This illustration shows a velocity profile of two collinear moves. The second
MCLM instruction has a higher velocity than the first MCLM instruction
and one of these termination types are used:
No Decel (3)
Follow Contour Velocity Constrained (4)
Follow Contour Velocity Unconstrained (5)
The .PC bit is set when the first move reaches its programmed endpoint.
Figure 7 - Velocity Profile of Two Collinear Moves When the Second Move has a Higher Velocity
than the First Move and Termination Type 3, 4, or 5 is Used
MCLM2
MCLM1
The .PC bit is set, Programmed endpoint
of MCLM1 instruction
Position
Symmetric Profiles
Profile paths are symmetric for all motion profiles.
Programming the velocity, acceleration, and deceleration values symmetrically
in the forward and reverse directions generates the same path from point A to
point C in the forward direction, as from point C to point A in the reverse
direction.
While this concept is most easily shown in a two-instruction sequence, it
applies to instruction sequences of any length if they are programmed
symmetrically.
43
Chapter 2
MCLM1, MCLM 4
IMPORTANT
To make sure that your trajectory is symmetric, you must terminate any
sequence of moves by either Termination Types 0 or 1. Use a Termination Type
of 0 or 1 at the Reversal Point of a profile that moves back on itself.
Reversal Point
Using a TT2, TT3, TT4, TT5 or TT6 as the last move in a profile (or the
reversal point) is safe. However, the resulting trajectory from A to B cannot
always be the same as that from B to A. Explicit termination of the sequence of
moves helps the controller to optimize the velocity profile, reduce the CPU
load, and make sure of a symmetric profile.
44
Chapter 2
Then, use termination type 5. The other termination types can prevent you
from getting to the speed you want.
Termination Types 2, 3, 4, or 6
Termination Type 5
The length of each move determines its maximum speed. As a result, the axes do
not reach a speed that causes them to overshoot the target position during
deceleration.
The axes accelerate to the speed that you want. You must calculate the starting speed for
each move in the deceleration-half of the profile.
45
Chapter 2
Slower
2 - Command Tolerance
3 - No Decel
4 - Contour Velocity Constrained
5 - Contour Velocity Unconstrained
6 - Command Tolerance Programmed
Faster
Then
Vector
speed
2 - Command Tolerance
3 - No Decel
6 - Command Tolerance Programmed
46
Chapter
Topic
Page
Useful Terms
48
48
48
50
This chapter provides you with the information you need when using the
Kinematics functionality within Logix Designer application. This chapter also
provides you with guidelines for robot-specific applications.
Kinematics coordinate systems use two instructions, the Motion Calculate
Transform Position (MCTP) and the Motion Coordinate Shutdown Reset
(MCSR).
Motion Coordinated
Shutdown Reset (MCSR)
Use the Motion Coordinated Shutdown Reset (MCSR) instruction to reset all
axes in a coordinate system. The MCSR instruction resets the axes from a
shutdown state to an axis ready state. This instruction also clears any axis faults.
ATTENTION: Use each tag for the motion control attribute of instructions
only once. Re-use of the motion control tag in other instructions can cause
unintended operation. This can result in damage to equipment or personal
injury.
47
Chapter 3
Understanding the terms used in this chapter enables you to properly configure
your robot.
Useful Terms
Term
Definition
Forward Kinematics
The solution of source positions given the target positions. In practice, requires computing the Cartesian positions given the Joint positions.
Forward Transform
Inverse Kinematics
The solution of joint positions given Cartesian positions. Typically, converts Cartesian positions to joint positions.
Inverse Transform
Joint axis
A rotary robotic coordinate axis typically having overtravel rather than rollover limits.
Kinematics
The family of mathematical equations that convert positions back and forth between two linked geometries.
Orientation
Robotic term for directional attitude or rotation about a point in Cartesian (3D) space. Orientation is expressed as three ordered rotations
around the X, Y, and Z Cartesian axes.
Reference frame
An imaginary Cartesian coordinate system used to define a Cartesian origin and reference orientation.
Source system
One of two coordinate systems used in a Kinematics transform and having special properties. When connected to a target system by means of
a Kinematics transform, motion commanded at the source systems inputs produces motion at both the source and target systems outputs (if
the physical axes are connected).
Target system
One of two coordinate systems used in a Kinematics transform and having special properties. When connected to a source system by means of
a Kinematics transform, motion commanded at the target systems inputs produces motion in both the source and target systems outputs (if
the physical axes are connected).
All Kinematics programmed position (motion) is based on the Tool Center Point (TCP).
To determine the TCP, you must enter information on these Logix Designer application tabs:
Geometry - Enter values for Link Length (linear displacement), Zero Angle Orientation (angular rotation), and Base Offsets. These values, in
combination with the selected Geometry type, defines the resulting Geometrys end-of-arm position.
Offsets - Enter value for End-effector offset; these are included when establishing the final TCP position.
Transform
General term for conversion equations that map values in one coordinate space to values in another coordinate space.
Translation
Robotic term for a linear movement or offset in Cartesian (three-dimensional) space. Translation describes the distance between two
Cartesian points.
Offset on a rotary axis in the Joint Coordinate system between where the Kinematics equations were derived and where you want your zero
position to be.
Before you begin the configuration steps for the Kinematics transformation
function, you need to gather specific information about your robot and
application parameters. Specifications for your robot can be found in the
documentation provided by the manufacturer; other required information is
application dependent. You need to know this information before you begin
configuring motion control.
Robot geometry type
Zero angle orientation
Work envelope
Link lengths
Base offsets
End-effector offsets
Arm solution
After you create a Joint (target) coordinate system tag for your Motion control
project, there are general steps to follow for Kinematics.
48
Chapter 3
1. Determine and then configure the type of coordinate system you need
for your robot.
For help in determining your coordinate system type, see page 50.
2. Establish the Joint-to-Cartesian reference frame relationship.
For more information regarding the joint-to-Cartesian reference frame,
see the section about the type of robot you are using.
ATTENTION: The correct relationship between the Joint reference frame and
the Cartesian reference frame must be established. Failure to do this can
allow your robot to move to unexpected positions causing machine damage
and/or injury or death to personnel.
3. Calibrate your robot (if applicable).
4. Identify your robot work envelope.
5. Determine and then configure the following parameters:
Link lengths
Base offsets
End-effector offsets
6. Create the source and target coordinate systems.
Typical Cartesian Coordinate System Configuration for Articulated Independent
robot.
49
Chapter 3
Use this table to determine what type of Kinematics coordinate system you
need.
If your robot looks similar to
Articulated Dependent
For configuration information, see page 91.
Cartesian
This illustration shows a typical Gantry machine.
For configuration information, see page 101.
50
Chapter 3
Sliding Member
Cartesian
This illustration shows a typical H-bot.
For configuration information see page 103.
X2 Axis
TCP
X1 Axis
Sliding rail
Stationary Rails
Stationary Motors A
Stationary Motors B
SCARA Independent
For configuration information, see page 84.
51
Chapter 3
Two-dimensional Delta
For configuration information, see page 71.
SCARA Delta
For configuration information, see page 76.
52
Chapter
Topic
Page
Reference Frame
53
55
Work Envelope
57
Configuration Parameters
59
62
62
71
76
Arm Solutions
81
84
Error Conditions
88
Reference Frame
The reference frame is the Cartesian coordinate frame that defines the origin
and the three primary axes (X1, X2, and X3). These axes are used to measure
the real Cartesian positions.
ATTENTION: Failure to properly establish the correct reference frame for
your robot can cause the robotic arm to move to unexpected positions
causing machine damage and/or injury or death to personnel.
The reference frame for an Articulated Independent robot is at the base of the
robot, as shown in Figure 9.
53
Chapter 4
Side View
54
Chapter 4
When your robot is physically in this position, the Logix Designer application
Actual Position tags for the axes must be:
J1 = 0
J2 = 90
J3 = -90
Figure 11 - Articulated Independent 3
Side View
If your robots physical position and joint angle values cannot match those
shown in either figures above, then use one of the Alternate Methods for
Establishing the Joint-to-Cartesian reference frame relationship.
Methods to Establish a
Reference Frame
The following methods let you establish a reference frame for an Articulated
Independent robot.
For each
Incremental axis
Absolute axis
55
Chapter 4
J1 = 10
J2 = 80
J3 = -85
Z1 = -10
Z2 = 10
Z3 = -5
56
Chapter 4
Work Envelope
The work envelope is the three-dimensional region of space that defines the
reaching boundaries for the robot arm. The work envelope for an articulated
robot is ideally a complete sphere having an inner radius equal to L1- L2 and
outer radius equal to L1+L2. Due to the range of motion limitations on
individual joints, the work envelope is not always a complete sphere.
57
Chapter 4
J1 = 170
J2 = 0 to 180
J3 = 100
L1= 10
L2 = 12
Top view - Depicts the envelope of the tool center point sweep in J1 and J3 while J2 remains at a fixed position of
0.
Side view - Depicts the envelope of the tool center point sweep in J2 and J3 while J1 remains at a fixed position
of 0.
58
Configuration Parameters
Chapter 4
Verify that the values for the link lengths, base offsets and end-effector
offsets entered into the Configuration Parameters dialog use the same
measurement units.
L2 = 12 inches
X1e = 2 inches
Robot Origin
If the robot is two-dimensional, then X3b and X3e are X2b and X2e respectively.
59
Chapter 4
Link Lengths
Link lengths are the rigid mechanical bodies attached at joints.
For an articulated independent robot with The length
of
2 dimensions
L1
L2
J1 and J2
J2 and the end-effector
3 dimensions
L1
L2
J2 and J3
J3 and the end-effector
60
Chapter 4
Base Offsets
The base offset is a set of coordinate values that redefines the origin of the
robot. The correct base offset values are typically available from the robot
manufacturer. Enter the values for the base offsets in the X1b and X3b fields of
the Coordinate System Properties dialog.
Figure 15 - Example of Base Offsets for an Articulated Independent Robot
61
Chapter 4
End-effector Offsets
The robot can have an end-effector attached to the end of robot link L2. If
there is an attached end-effector, then you must configure the end-effector
offset value on the Coordinate System Properties dialog. The end-effector
offsets are defined with respect to the tool reference frame at the tool tip.
Some robots also have an offset defined for the J3 joint as shown in Figure 13
on page 59. You can account for this value when computing the X3e endeffector offset value. In Figure 13, the value for X3e offset is entered as the sum
of X3e1+X3e2 (-3+1.5 = -1.5). The configured value for X3e is -1.5.
Figure 16 - Example of End-effectors for an Articulated Independent Robot
Logix Designer application supports three types of geometries that are often
called parallel manipulators.
Three-dimensional Delta
Two-dimensional Delta
SCARA Delta
In these geometries, the number of joints is greater than the degrees of
freedom, and not all the joints are actuated (motor driven). These un-actuated
joints are typically spherical joints.
62
Chapter 4
Forearm assembly
Gripper
63
Chapter 4
The reference frame for the Delta geometries is at the center of the top fixed
plate. Joint 1, Joint 2, and Joint 3 are actuated joints. If you configure the Delta
coordinate system in Logix Designer application with the joints homed at 0 in
the horizontal position, then L1 of one of the link pairs is aligned along the X1
positive axis as shown. Moving in the counter clockwise direction from Joint 1
to Joint 2, the X2 axis is orthogonal to the X1 axis. Based on the right hand
rule, X3 positive is the axis pointing up (out of the paper).
64
Chapter 4
65
Chapter 4
66
Chapter 4
During each scan, Logix Designer application evaluates the joint positions in
the forward and inverse kinematics routines to be sure that they do not violate
the computed maximum positive and maximum negative joint limits.
67
Chapter 4
Homing or moving a joint axis to a position beyond a computed joint limit and
then invoking a MCT instruction, results in an error 67 (Invalid Transform
position). For more information regarding error codes, see the Logix5000
Controllers Motion Instructions Reference Manual,
publication MOTION-RM002.
cos-1
L1 + L2
Jmax Positive = 180
68
Chapter 4
L2 - L1
Verify that the values for the link lengths, base offsets, and end-effector
offsets are entered into the Configuration Parameters dialog by using the
same measurement units.
69
Chapter 4
Link Lengths
Link lengths are the rigid mechanical bodies attached at the rotational joints.
The three-dimensional Delta robot geometry has three link pairs each made up
of L1 and L2. Each of the link pairs has the same dimensions.
L1 - is the link attached to each actuated joint ( J1, J2, and J3).
L2 - is the parallel bar assembly attached to L1.
Figure 23 - Three-dimensional Delta Robot - Link Lengths Configuration Screen
Base Offsets
There is one base offset value (X1b) available for the three-dimensional Delta
robot geometry. Enter the value equal to the distance from the origin of the
robot coordinate system to one of the actuator joints.
70
Chapter 4
End-effector Offsets
The two end-effector offsets available for the three-dimensional Delta robot
geometry are as follows. Offset values are always positive numbers.
X1e is the distance from the center of the moving plate to the lower
spherical joints of the parallel arms.
X3e is the distance from the base plate to the TCP of the gripper.
Figure 24 - Configuring the Base Offset and End-effector Offsets for a Three-dimensional Delta
Robot
Figure 25 shows a two-dimensional Delta robot that moves in twodimensional Cartesian space.
Figure 25 - Two-dimensional Delta Robot
Joints for axes 1-2.
71
Chapter 4
This robot has two rotary joints that move the gripper in the (X1, X2) plane.
Two forearm assemblies attach a fixed top plate to a movable bottom plate. A
gripper is attached to the movable bottom plate. The bottom plate is always
orthogonal to the X2 axis and its position is translated in Cartesian space (X1,
X2) by mechanical parallelograms in each forearm assembly. The two joints, J1,
and J2, are actuated joints. The joints between links L1 and L2 and between L2
and the base plate are unactuated joints.
Each joint is rotated independently to move the gripper to a programmed (X1,
X2) position. As each joint axis ( J1 or J2 or J1 and J2) is rotated, the TCP of
the gripper moves correspondingly in the X1 or X2 direction or X1 and X2
direction. You can program the TCP to a (X1, X2) coordinate, then
Logix Designer application uses internal vector dynamic calculations to
compute the proper commands needed for each joint to move the gripper
linearly from the current (X1, X2) position to the programmed (X1, X2)
position.
The two joint axes ( J1 and J2) of the robot are configured as linear axes.
To rotate the gripper, configure a third axis as a linear or rotary, independent
axis.
72
Chapter 4
We recommend that you define the program parameters for the twodimensional Delta robot within a rectangle (dotted lines in Figure 27) inside
the work zone of the robot. The rectangle can be defined by the positive and
negative dimensions of the X1, X2 virtual source axes. Be sure that the robot
73
Chapter 4
position does not go outside the rectangle. You can check the position in the
event task.
To avoid problems with singularity positions, Logix Designer application
internally calculates the joint limits for the Delta robot geometries. When an
MCT instruction is invoked for the first time, the maximum positive and
maximum negative joint limits are internally calculated based upon the link
lengths and offset values entered on the Geometry and Offsets tabs of the
Coordinate System Properties dialog.
For More Information About
Page
68
69
Homing or moving a joint axis to a position beyond a computed joint limit and
then invoking an MCT instruction, results in an error 67 (Invalid Transform
position). For more information about error codes, see the Logix5000
Controllers Motion Instructions Reference Manual,
publication MOTION-RM002.
74
Verify that the values for the link lengths, base offsets, and end-effector
offsets are entered into the Configuration Parameters dialog by using the
same measurement units.
Chapter 4
Link Lengths
Links are the rigid mechanical bodies attached at joints. The two- dimensional
Delta geometry has two link pairs, each with the same lengths. The link
attached to each actuated joint ( J1 and J2) is L1. The parallel bar assembly
attached to link L1 is link L2.
Figure 28 - Two-dimensional Delta Robot - Link Lengths Configuration Screen
Base Offsets
There is one base offset (X1b) available for the two-dimensional Delta robot
geometry. Enter the value equal to the distance from the origin of the robot
coordinate system to one of the actuator joints.
75
Chapter 4
End-effector Offsets
There are two end-effector offsets available for the two-dimensional Delta
robot geometry. The value for X1e is the offset distance from the center of the
lower plate to the lower spherical joints of the parallel arms. The distance from
the lower plate to the TCP of the gripper is the value for X2e.
Figure 29 - Delta Two-dimensional Robot - Base and End-effector Offsets
Base plate
Chapter 4
When the right-hand link L1 moves in the clockwise direction (looking down
on the robot), joint J1 is assumed to be rotating in the positive direction. When
the right-hand link L1 moves counterclockwise, joint J1 is assumed to be
moving in the negative direction.
When left-hand link L1 moves in the clockwise direction, joint J2 is assumed
to be moving in the negative direction. When the left-hand link L1 moves in
the counterclockwise direction, joint J2 is assumed to be rotating in the
positive direction.
Based on the right hand rule, X3 positive is orthogonal to the X1-X2 plane
pointing up. The linear axis always moves in the X3 direction.
When configuring a SCARA Delta robot in Logix Designer application, keep
the following in mind.
Configure both the source and the target coordinate system with a
transform dimension of two.
The linear axis configured as a third axis must be the same for both the
source and target coordinate systems.
Figure 31 - Example of Source and Target Coordinate System Configuration for a SCARA Delta
Robot
77
Chapter 4
Page
68
69
Homing or moving a joint axis to a position beyond a computed joint limit and
then invoking an MCT instruction, results in an error 67 (Invalid Transform
position). For more information about error codes, see the Logix5000
Controllers Motion Instructions Reference Manual,
publication MOTION-RM002.
78
Verify that the values for the link lengths, base offsets, and end-effector
offsets are entered into the Configuration Parameters dialog by using the
same measurement units.
Chapter 4
Link Lengths
Links are the rigid mechanical bodies attached at joints. The SCARA Delta
robot has two link pairs each with the same lengths. The link attached to each
actuated joint ( J1 and J2) is L1. The parallel bar assembly attached to link L1 is
link L2.
Base Offset
There is one base offset (X1b) available for the SCARA Delta robot geometry.
Enter the value equal to the distance from the origin of the robot coordinate
system to one of the actuator joints. The base offset value is always a positive
number.
End-effector Offset
There is one end-effector offset (X1e) available for the SCARA Delta robot
geometry. Enter the value for the distance from the center of the moving plate
to one of the spherical joints of the parallel arms. The end-effector value is
always a positive number.
Figure 32 - SCARA Delta End-effector and Base Offset
79
Chapter 4
-X1b
P1
-X1b
+X1
P2
L1
L1
L2
L2
X1e
L1 = 50.0 units
L2 = 80.0 units
X1b = -10 units
X1e = 15 units
X1e
+X2
The base offset X1b is the value equal to the distance from the origin of the
robot coordinate system to one of the actuator joints. In the previous figure,
one of the actuator joints (P1), is on the negative side of X1. Therefore, the
base offset X1b is measured to be a value of -10 units from the origin of the
coordinate system (X1 - X2 intersection) to P1.
The Logix Designer application coordinate system configuration for the offset
tab used with the example in the previous figure is shown here.
This negative offset description also applies for Delta 3D and SCARA-Delta
Configurations.
80
Arm Solutions
Chapter 4
A Kinematic arm solution is the position of all joints on the robot that
correspond to a Cartesian position. When the Cartesian position is inside the
workspace of the robot, then at least one solution always exists. Many of the
geometries have multiple joint solutions for a single Cartesian position.
Two axis robots - two joint solutions typically exist for a Cartesian
position.
Three axis robots - four joint solutions typically exist for a Cartesian
position.
Right-Arm Solution
81
Chapter 4
For example, consider the Cartesian point XYZ (10,0,15). The joint position
corresponding to this point has four joint solutions. Two of the solutions are
the same as the solutions for the two-dimensional case. The other two
solutions are mirror image solutions where J1 is rotated 180.
Right-Arm
Right-Arm Mirror
J3
J3
J2
J2
Left-Arm Mirror
Left-Arm
J3
J3
J2
J2
Activating Kinematics
ATTENTION: Be sure to choose an arm solution before activating the
Kinematic function. Failure to do so can result in machine damage and/or
serious injury or death to personnel.
Before activating Kinematics, configure the robot in a left-arm or right-arm
solution. The robot stays in the same configuration in which it was activated as
it is moved in Cartesian or source coordinate mode. If activated in a fullyextended-arm mode (this is, neither a left-arm nor a right-arm solution), the
system chooses a left-arm solution.
82
Chapter 4
83
Chapter 4
Configure a SCARA
Independent Robot
The typical SCARA Independent robot has two revolute joints and a single
prismatic joint. This robot is identical to the Articulated Independent twodimensional robot except that the X1-X2 plane is tilted horizontally with a
third linear axis in the vertical direction. Use these guidelines when configuring
a SCARA Independent robot.
84
Chapter 4
The internal Kinematic equations are written as if the start position for the
SCARA Independent robot joints are as shown in Figure 35.
Figure 35 - Joint and Link Start Position that Kinematics Equations use for the SCARA
Independent Robots
Top View
85
Chapter 4
Figure 36 - Example Source and Target Coordinate Systems for a SCARA Independent Robot
86
Chapter 4
Verify that the values for the link lengths, base offsets, and end-effector
offsets are entered into the Configuration Parameters dialog by using the
same measurement units.
L1= 10
L2= 8
87
Chapter 4
Link Lengths
Link lengths are the rigid mechanical bodies attached at joints.
Figure 39 - Configuring Link Lengths for a SCARA Independent Robot
Error Conditions
88
Chapter 4
For
Coordinate system
TransformSourceStatus
On
Coordinate system
TransformTargetStatus
On
Axis
TransformStateStatus
On
Axis
ControlledByTransformStatus
On
89
Chapter 4
Notes:
90
Chapter
Topic
Page
Reference Frame
91
93
Work Envelope
96
Configuration Parameters
97
The Articulated Dependent robot has motors for the elbow and the shoulder
at the base of the robot. The dependent link controls J3 at the elbow. Use these
guidelines when configuring an Articulated Dependent robot.
ATTENTION: Before turning ON the Transform and/or establishing the
reference frame, do the following for the joints of the target coordinate
system:
1. Set and enable the soft travel limits.
2.Enable the hard travel limits.
Failure to do this can allow the robot to move outside of the work envelope
causing machine damage and/or serious injury or death to personnel.
Reference Frame
The reference frame is the Cartesian (typically the source) coordinate frame
that defines the origin and the three primary axes (X1, X2, and X3). These axes
are used to measure the real Cartesian positions.
ATTENTION: Failure to properly establish the correct reference frame for
your robot can cause the robotic arm to move to unexpected positions
causing machine damage and/or injury or death to personnel.
The reference frame for an Articulated Dependent robot is at the base of the
robot as shown in Figure 40.
91
Chapter 5
X1
92
Chapter 5
When your robot is physically in this position, the Logix Designer application
Actual Position tags for the axes must be:
J1 = 0
J2 = 90
J3 = -90
Figure 42 - Articulated Dependent 3
Side View
If the physical position and joint angle values of your robot cannot match those
shown in Figure 41 or in Figure 42, use one of the methods that are outlined in
this section to establish the Joint-to-Cartesian reference frame relationship.
ATTENTION: Failure to properly establish the correct reference frame for
your robot can cause the robotic arm to move to unexpected positions
potentially resulting in damage to property or injury to personnel.
Methods to Establish a
Reference Frame
The following methods let you establish a reference frame for an Articulated
Independent robot.
For each
Incremental axis
Absolute axis
93
Chapter 5
94
J1 = 10
J2 = 80
J3 = 5
Z1 = -10
Z2 = 10
Z3 = -5
Chapter 5
95
Chapter 5
Work Envelope
The work envelope is the three-dimensional region of space that defines the
reaching boundaries for the robot arm. The work envelope of an articulated
robot is ideally a complete sphere having an inner radius equal to |L1- L2| and
outer radius equal to |L1+L2|. However, due to the range of motion
limitations on individual joints, the work envelope is not always a complete
sphere.
Typically, the work envelope is
J1 = 170
J2 = 0...180
J3 = 60
L1 = 10
L2 = 12
Top view - Depicts the envelope of the tool center point sweep in J1 and J3 while J2 remains at a fixed position of 0.
Side view Depicts the envelope of the tool center point sweep in J2 and J3 while J1 remains at a fixed position of 0.
96
Configuration Parameters
Chapter 5
Logix Designer application can be configured for control of robots with varied
reach and payload capacities. As a result, it is important to know the
configuration parameter values for your robot including:
Link lengths
Base offsets
End-effector offsets
The configuration parameter information is available from the robot
manufacturer.
IMPORTANT
Verify that the values for the link lengths, base offsets, and end-effector
offsets are entered into the Configuration Parameters dialog by using the
same measurement units.
X3
X1e = 2 inches
L1 = 10 inches
Link Lengths
Link lengths are the rigid mechanical bodies attached at joints.
For an articulated dependent
robot with
The length of
Two-dimensions
L1
L2
J1 and J2
J2 and the end-effector
Three-dimensions
L1
L2
J2 and J3
J3 and the end-effector
97
Chapter 5
Base Offsets
The base offset is a set of coordinate values that redefines the origin of the
robot. The correct base-offset values are typically available from the robot
manufacturer. Enter the values for the base offsets in the X1b and X3b fields of
the Coordinate System Properties dialog.
Figure 46 - Example of Base Offsets for an Articulated Independent Robot
98
Chapter 5
End-effector Offsets
The robot can have an end-effector attached to the end of robot link L2. If
there is an attached end-effector, then you must configure the end-effector
offset value on the Coordinate System Properties dialog. The end-effector
offsets are defined regarding the tool reference frame at the tool tip.
Figure 47 - Example of End-effector Values for an Articulated Independent Robot
99
Chapter 5
Notes:
100
Chapter
Topic
Page
101
101
102
For a Cartesian Gantry robot, the reference frame is an orthogonal set of X1,
X2, and X3 axes positioned anywhere on the Cartesian robot. All global
coordinate measurements (points) are relative to this reference frame.
Typically, the reference frame is aligned with the X1, X2, and X3 axes of the
machine.
Figure 48 - Cartesian Reference Frame
To establish a Local coordinate system with axes positions different from the
reference frame, use the Motion Redefine Position (MRP) instruction to reset
the position register. You can also use the Offset Vector in the MCT transform
instruction to establish an offset between the Local coordinate system and the
reference frame.
For more information about Motion Instructions, see Logix5000 Controllers
Motion Instructions Reference Manual, publication MOTION-RM002.
The work envelope for a Cartesian Gantry robot is typically a solid rectangle of
length, width, and height that is equal to the axis travel limits.
101
Chapter 6
Define Configuration
Parameters for a Cartesian
Gantry Robot
102
You do not need to define the link lengths, base offset, or end-effector offset
configuration parameters for a Cartesian Gantry robot.
Chapter
Topic
Page
103
104
104
105
The H-bot is a special type of Cartesian two-axis gantry robot. This type of
machine has three rails positioned in the form of a letter H. Two motors are
positioned at the end of each leg of the robot. Unlike a standard gantry robot,
neither motor is riding on top of the moving rails. Use these guidelines when
configuring a Cartesian H-bot.
Figure 49 - Cartesian H-bot
Sliding Member
X2 X2 Virt
X1
TCP
X1 Virt
Sliding rail
Stationary Rails
Stationary Motors A
Stationary Motors B
In Figure 49, the X1 and X2 axes are the real axes on the robot. X1 Virt and X2
Virt are configured as the virtual axes.
The configuration of the H-bot mechanical linkages enables it to move at a 45
angle to the axes when either motor A or motor B is rotated.
For example, when:
Motor A (X1 axis) is rotated, the robot moves along a straight line at
+ 45 angle
Motor B (X2 axis) is rotated, the machine moves at an angle of -45.
103
Chapter 7
Motors A and B are both rotated clockwise at the same speed, then the
machine moves along a horizontal line
Motors A and B are both rotated counterclockwise at the same speed
then the machine moves along a vertical line
Any X,Y position can be reached by properly programming the two motors.
For example, a move of (X1 = 10, X2 = 0) causes the X1X2 axes to move to a
position of (X1=7.0711, X2=7.0711). A move to (X1=10, X2 =10) causes the
robot to move to a position of (X1=0, X2=14.142).
While this configuration can be very confusing for a programmer, utilizing the
Logix Designer application Kinematics function configured with two
Cartesian coordinate systems and a -45 rotation easily performs the function.
To configure two Cartesian coordinate systems, Coordinate system 1 (CS1)
and Coordinate system 2 (CS2), each containing two linear axes, use the
following steps.
1. Configure CS1 to contain the virtual X1 and X2 axes.
2. Configure CS2 to contain the real X1 and X2 axes.
3. Configure the Orientation vector of the MCT instruction as (0,0, -45),
a negative degree rotation around the X3 axis.
4. Configure the Translation vector as (0, 0, 0).
5. Link the CS1 and CS2 by using a MCT instruction.
6. Home the H-bot and then program all moves in CS1.
The machine moves the tool center point (TCP) to the programmed coordinates in
CS2. The -45 rotation introduced by the Kinematics, counteracts the 45
rotation introduced by the mechanics of the machine and the H-bot moves to the CS1
configured coordinates. As a result, a programmed move of X1virt=10, X2virt=5
moves to a real mechanical position of X1=10, X2=5.
For a Cartesian H-bot, the Base coordinate system is an orthogonal set of X1,
X2 axes postponed anywhere on the Cartesian H-bot. Do not rotate the
angular rotation of the reference frame for this robot because the angular
rotation vector is used to achieve the 45 rotation required for mechanical
operation.
The work envelope for a Cartesian H-bot is a rectangle of length and width
equal to the axis soft travel limits.
104
Define Configuration
Parameters for a Cartesian
H-bot
Chapter 7
You do not need to define the link lengths, base offset, or end-effector offset
configuration parameters for a Cartesian H-bot.
105
Chapter 7
Notes:
106
Chapter
Configure Camming
This chapter describes camming concepts. You use the motion coordinated
instructions to move as many as three axes in a coordinate system. Descriptions
of these instructions are in the Logix5000 Controllers Motion Instructions
Reference Manual, publication MOTION-RM002.
Camming Concepts
Topic
Page
Camming Concepts
107
Cam Profiles
109
Scaling Cams
115
117
Execution Schedule
117
Pending Cams
122
Mechanical Camming
In mechanical camming, the master axis functions as a cam. A cam is an
eccentric wheel that is mounted on a rotating shaft and used to produce
variable or reciprocating motion in another engaged part, that is, the slave axis.
The slave axis is also known as a follower assembly.
107
Chapter 8
Configure Camming
Follower
Cam
44949
Electronic Camming
Electronic camming is an electronic replacement for a mechanical camming. In
this case, there is still a master axis that produces variable and reciprocating
motion in a slave axis. However, electronic camming coordinates the
movement of the two separate axes without a physical connection between
them. There is no physical cam or follower assembly.
In addition to removing the physical connection between axes, electronic
camming:
Creates coordinated motion profiles that are functions of the time or
relative position of another axis.
Allows you to configure higher cam velocities.
Is defined by using a point pair table of values. This table is a master
axis set of point positioning values and a corresponding set of slave axis
point positioning values.
The user-defined position point array causes one closed-loop axis to
move with another open or closed-loop axis.
108
Configure Camming
Cam Profiles
Chapter 8
109
Chapter 8
Configure Camming
110
Configure Camming
Chapter 8
There are four common cam profiles that can be used as position cam or time
cam profiles:
Acceleration Cam Profile
Run Cam Profile
Deceleration Cam Profile
Dwell Cam Profile
Cam profiles are configured for each required slave axis change of position, as
corresponds to specific master axis position or time positions.
111
Chapter 8
Configure Camming
112
Configure Camming
Chapter 8
113
Chapter 8
Configure Camming
114
Configure Camming
Scaling Cams
Chapter 8
You can use the scaling feature to determine the general form of the motion
profile with one stored cam profile. With this feature, one standard cam profile
can be used to generate a family of specific cam profiles.
Scaling works slightly differently when it is used with an MAPC instruction, in
position cam profiles, than when it is used with an MATC instruction, in time
cam profiles.
By default, both the Master Scaling and Slave Scaling parameters are set to 1.
To scale a position cam profile, enter a Master Scaling or Slave Scaling value
other than 1.
If you increase the Master Scaling value of a position cam profile, it decreases
the velocities and accelerations of the profile. However, if you increase the slave
scaling value, it increases the velocities and accelerations of the profile.
115
Chapter 8
Configure Camming
Master Time
Profile Stored
in Cam Profile Array
By default, both the Time and Distance Scaling parameters are set to 1. To scale
a time cam profile, enter a Time Scaling or Distance Scaling value other than 1.
If you increase the Time Scaling value of a time cam profile, it decreases the
velocities and accelerations of the profile. However, if you increase the Distance
Scaling value, it increases the velocities and accelerations of the profile.
116
Configure Camming
Chapter 8
If you decrease the Time Scaling value or increase the Distance Scaling of a
time cam, it increases the required velocities and accelerations of the profile.
This action can cause a motion fault if the capabilities of the drive system are
exceeded.
Cam execution modes determine if the cam profile is executed only one time or
repeatedly. You must configure the Execution Mode parameter on an MAPC
or MATC instruction.
Table 14 - Execution Mode Descriptions
Execution Mode
Description
Once
Cam motion of slave axis starts only when the master axis moves into the range defined
by the start and end points of the cam profile. When the master axis moves beyond the
defined range, cam motion on the slave axis stops and the Process Complete bit is set.
Slave motion does not resume if the master axis moves back into the cam profile range.
Continuous
Once started, the cam profile is executed indefinitely. In this mode, the master and slave
positions are unwound when the position of the master axis moves outside the profile
range. This unwinding causes the cam profile to repeat. This feature is useful in rotary
applications where it is necessary that the cam position runs continuously in a rotary or
reciprocating fashion.
Persistent(1)
The cam motion of the slave axis proceeds only when the master axis moves within the
range defined by the start and end points of the cam profile. When the master axis moves
beyond the range of the profile, cam motion on the slave axis stops. Cam motion only
resumes when the master moves back into the profile range specified by the start and end
points.
Execution Schedule
MAPC Instruction
The Execution Schedule parameter selections are the following:
Immediate
Pending
Forward Only
117
Chapter 8
Configure Camming
Reverse Only
Bidirectional
Immediate
By default, the MAPC instruction is scheduled to execute Immediately. In this
case, there is no delay to the enabling of the position camming process and the
Master Lock Position parameter is irrelevant. The slave axis is immediately
locked to the master axis, which begins at the Cam Lock Position of the
specific cam profile.
When the MAPC instruction is executed, the camming process is initiated on
the specified slave axis. The Position Cam Status bit in the Motion Status word
of the slave axis is also set. If the Execution Schedule is Immediate, the slave axis
is immediately locked to the master according to the specified Cam Profile.
The fact that the Position Cam Lock Status bit for the specified slave axis is
also set indicates this condition.
Figure 57 - Immediate Execution
Slave Axis
Position
Cam
Start
Position
Cam Profile
Master Axis
Position
Position Cam Lock Status
118
Configure Camming
Chapter 8
Cam
Start
Position
Cam Profile
Master Axis
Position
Position Cam Lock
Status
Position Cam Status
Position Cam
Initiated
Pending
The execution of an MAPC instruction can be deferred pending completion of
a currently executing position cam. You can use Execution Schedule selection
of Pending to blend two position cam profiles together without stopping
motion.
This Execution Schedule selection of Pending is fully described in
Pending Cams on page 122.
119
Chapter 8
Configure Camming
IMPORTANT
The cam profile generator monitors the master axis based on the absolute
position reference system in effect before the redefine position operation.
This process only occurs if the position reference of the master axis is
redefined with a Motion Redefine Position (MRP) instruction after the MAPC
instruction executes but before the lock condition is satisfied.
Master
Start
Position
Cam Profile
Master Axis
Position
Position Cam Lock Status
The Position Cam Status bit of the Motion Status word for specified slave axis
is set. This process occurs when the absolute position of the master axis passes
the specified Master Lock Position in the specified direction. Slave axis motion
is then initiated according to the specified cam profile starting at the specified
Cam Lock Position of the cam profile.
120
Configure Camming
Chapter 8
From this point on, only the incremental change in the master axis position
determines the corresponding slave axis position from the defined cam profile.
This condition is important for applications where the master axis is a rotary
axis because the position cam is then unaffected by the position unwind
process.
When the master axis moves out of the range that the cam profile defines, if
Execution Mode is Once, the following occur:
It clears the Position Cam Lock Status
It clears the Position Cam Status bits of the Motion Status word
This Motion Status bit condition indicates that the cam process has
completed. This fact is also reflected in the bit leg behavior of the associated
MAPC instruction, PC bit set, and IP bit clear.
The master axis can change direction and the slave axis reverses accordingly.
This process occurs after position cam motion is started when the master axis
passes the specified Master Lock Position in either the Forward Only or
Reverse Only direction.
If an MAPC instruction is executed on a slave axis that is actively position
camming, an Illegal Dynamic Change error is generated (error code 23).
However, this error does not occur if the Execution Schedule is Pending.
MATC Instruction
An MATC instruction uses one of two Execution Schedule parameters:
Immediate
Pending
Immediate
By default, the MATC instruction is scheduled to execute immediately because
the default setting of Execution Schedule is Immediate. In this case, there is no
delay to the enabling of the time camming process.
When the MATC instruction is executed, the camming process is initiated on
the specified axis. The Time Cam Status bit in the Motion Status word for the
axis is also set. This process is shown in Figure 60. If the Execution Schedule
parameter is set to Immediate, the axis is immediately locked to the time master
coordinate according to the specified Cam Profile.
121
Chapter 8
Configure Camming
Cam
Start
Position
Time
Time Cam Status
Time Cam
Initiated
Pending
The execution of a MATC instruction can be deferred pending completion of
a currently executing time cam profile. You can use Execution Schedule
selection of Pending to blend two time cam profiles together without stopping
motion.
Pending Cams
Cam pending is a technique that lets the blending of one cam profile together
with another without stopping either master or slave axis movement. An
Execution Schedule selection of Pending can thus be used to blend two
position cam profiles together without stopping motion.
The Pending execution feature is useful when the axis must be accelerated up
to speed by using a specific velocity profile. When this acceleration profile is
done, it must be smoothly blended into the operating cam profile, which is
typically executed continuously. To stop the slave axis, the operating cam
profile is smoothly blended into a deceleration profile such that the axis stops
at a known location, as shown in graphic Pending Cam Execution.
122
Configure Camming
Chapter 8
Accel Profile
MAPC Instruction
Run Profile
Decel Profile
Slave Axis
Position
Accel Profile
MATC Instruction
Run Profile
Decel Profile
Slave Axis
Position
By executing the position cam profile as a Pending cam profile while the
current profile is still executing, the appropriate cam profile parameters are
configured ahead of time. This condition makes the transition from the
current profile to the pending profile seamless. Synchronization between the
master and slave axes is maintained. To make sure of smooth motion across the
transition, however, the profiles must be designed as follows. No position,
velocity, or acceleration discontinuities can exist between the end of the
current profile and the start of the new one. This process is done by using the
Logix Designer Cam Profile Editor.
Once a pending position cam instruction has been executed, the new cam
profile takes effect automatically (and becomes the current profile). This
process occurs when the master axis passes through either the start or end point
of the current profile. If the current cam is configured to execute once, the new
profile is initiated at the completion of the current cam profile. The PC bit of
the currently active instruction (either MAPC or MATC) is also set.
If the current cam is configured to execute continuously, the new profile is
initiated at the completion of the current pass through the current cam profile.
The IP bit of the currently active instruction is also cleared. The motion
controller tracks the master axis position or time, depending on which
instruction is used. The slave axis position relative to the first profile at the time
123
Chapter 8
Configure Camming
124
Configure Camming
Chapter 8
The Position or Time Cam Pending Status bit of the Motion Status word for
the specified slave axis is set to 1 (true). This process occurs after a Pending
position cam has been configured. When the pending (new) profile is initiated
and becomes the current profile, Position or Time Cam Pending Status bit is
immediately cleared as shown in Figure 62.
Figure 62 - Pending Position Cam
Current
Profile
MAPC Instruction
New
Profile
Slave Axis
Position
Current
Profile
MATC Instruction
New
Profile
Slave Axis
Position
125
Chapter 8
Configure Camming
Notes:
126
Index
A
acceleration 111
acceleration cam 111
Arm Solution
definition of
configuring 81
Articulated Dependent
base offsets 98
define configuration parameters 97
end effector offsets 99
establish the reference frame 91
establish the reference frame alternate
methods 93
identify the work envelope 96
link lengths 97
Articulated Independent
base offsets 61
configuration parameters 59
end effector offsets 62
establish reference frame 53, 59
establish reference frame methods 55
identify the work envelope 57
link lengths 60
axis
inhibit 47, 53
B
behavior 114
bidirectional 117
C
calulating 111
cam 115, 118
master axis 109
cam execution modes 117
cam pending 122
cam profile 109, 111
cam profile array 115
cam profile editor 111
cam profile scaling time 116
cam shape 108
Cartesian Gantry
configuration parameters 102
establish reference frame 101
identify the work envelope 101
Cartesian H-bot
configuration parameters 105
establish reference frame 104
identify the work envelope 104
changing 118
coefficients
calculating 110
Collinear Moves
velocity profiles
termination types 41
common cam profiles 111
Configure 62, 65
127
Index
D
deceleration 111
deceleration cam 113
Delta 62
Delta Robot
Maximum Negative Joint Limit Condition 69
Maximum Positive Joint Limit Condition 68,
69, 71, 72, 73, 74, 76, 78
types
configure 62
Delta three-dimensional
configuration parameters 69
configure 62
maximum positive joint limit condition 68
reference frame 64
work envelope 67
zero angle orientation 65
Delta two-dimensional
configuration parameters 74
configure 71
establish the reference frame 72
work envelope 73
dimension 115
dwell 111
dwell cam 113
E
electronic 107
electronic camming 108
End Effector Offsets
determining 98
error 121, 122, 124
error code 23 122
establish the reference frame 64
execution 123
execution schedule parameter 117, 121
F
forward only 117
G
Geometry
of robot 50
Geometry Tab
link lengths 21
zero angle orientations box 22
I
identify the work envelope 67
illegal dynamic change 121, 122, 124
immediate 117, 121
immediate execution 118
inhibit
axis 47, 53
interpolated 110
128
interpolation 110
J
jog
execution of 110
K
Kinematics
activating 82
arm solutions 81, 83
arm solutions for two axes robots 81
Articulated Independent 53
changing arm solutions 83
determine Coordinate system type 50
no solution 84
singularity 83
solution mirroring 81
terms 48
kinematics
See multi-axis coordinated motion
instructions
L
linear 110
lock position 118
Logix Designer Cam Profile Editor 123
M
MAPC 109, 114, 115, 117, 118, 120, 121, 123,
125
cam profile 111
master 118
master axis 108, 119, 125
execution mode 117
position values 109
time cam profile 110
master axis position 123
master axis time 123
MATC 115, 117, 121, 123, 125
cam profile 111
time cam 110
Maximum Acceleration 26, 28
MCCP 110, 111
MCLM
Examples
Blending Different Speeds 46
MCTP 47
mechanical 107
mechanical camming 107
Motion Axis Position Cam (MAPC) 109
changing the cam lock position 118
forward only, reverse only, or bidirectional
execution 119
immediate execution 118
Index
S
salve axis 125
scaling 115
SCARA Delta
configuration parameters 78
establish the reference frame 76
identify the work envelope 78
SCARA Independent
reference frame 84, 86
Selective Compliant Assembly Robot Arm
configuration parameters 87
configure 81
establish reference frame 84
identify work envelope 86
link lengths 88
Singularity
planning for
definition of 83
slave axis 107, 111, 119
acceleration cam profile 111
execution mode 117
move process 110
position values 109
time cam profile 110
slave axis position 123
status bit 118
Studio 5000 Logix Designer application 9
Symmetric Profiles
paths of 43
T
time cam profile 109, 110
time cam status 122
types of camming 107
P
pending 117, 119, 121, 122, 125
position cam 125
pending cam 114, 123
point pair 108
position cam 115, 118, 123, 125
position cam profile 109
position-lock cams 109
profile 111
V
Velocity Profiles
of collinear moves 41
triangular 45
R
reciprocating motion 107
reverse only 117
run 111
run cam 112
129
Index
Notes:
130
https://rockwellautomation.custhelp.com/
http://www.rockwellautomation.com/global/support/get-support-now.page
Find the Direct Dial Code for your product. Use the code to
route your call directly to a technical support engineer.
http://www.rockwellautomation.com/global/support/direct-dial.page
Literature Library
http://www.rockwellautomation.com/global/literature-library/overview.page
http://www.rockwellautomation.com/global/support/pcdc.page
Documentation Feedback
Your comments will help us serve your documentation needs better. If you have any suggestions on how to improve this document, complete the
How Are We Doing? form at http://literature.rockwellautomation.com/idc/groups/literature/documents/du/ra-du002_-en-e.pdf.
Rockwell Automation maintains current product environmental information on its website at http://www.rockwellautomation.com/rockwellautomation/about-us/sustainability-ethics/product-environmental-compliance.page.
Allen-Bradley, CompactLogix, ControlLogix, FactoryTalk, GuardLogix, Logix5000, Rockwell Automation, Rockwell Software, SoftLogix, and Studio 5000 Logix Designer are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Rockwell Otomasyon Ticaret A.., Kar Plaza Merkezi E Blok Kat:6 34752 erenky, stanbul, Tel: +90 (216) 5698400
Copyright 2016 Rockwell Automation, Inc. All rights reserved. Printed in the U.S.A.