Notes on the documentation

This description is only intended for the use of trained specialists in control and automation engineering who are familiar with the applicable national standards.
It is essential that the following notes and explanations are followed when installing and commissioning these components.

The responsible staff must ensure that the application or use of the products described satisfy all the requirements for safety, including all the relevant laws, regulations, guidelines and standards.

Disclaimer

The documentation has been prepared with care. The products described are, however, constantly under development.
For that reason the documentation is not in every case checked for consistency with performance data, standards or other characteristics.
In the event that it contains technical or editorial errors, we retain the right to make alterations at any time and without warning.
No claims for the modification of products that have already been supplied may be made on the basis of the data, diagrams and descriptions in this documentation.

Trademarks

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE® and XFC® are registered trademarks of and licensed by Beckhoff Automation GmbH.
Other designations used in this publication may be trademarks whose use by third parties for their own purposes could violate the rights of the owners.

Patent Pending

The TwinCAT Technology is covered, including but not limited to the following patent applications and patents:
EP0851348, US6167425 with corresponding applications or registrations in various other countries.

Copyright

© Beckhoff Automation GmbH & Co. KG, Germany.
The reproduction, distribution and utilization of this document as well as the communication of its contents to others without express authorization are prohibited.
Offenders will be held liable for the payment of damages. All rights reserved in the event of the grant of a patent, utility model or design.


Introduction

A cam design editor is used to design the movements for a cam plate. A cam design editor is integrated into TwinCAT, and it can be found in the System Manager at NC Configuration, under the Tables item.

It is possible here to insert additional masters, and to enter corresponding slaves under them (right hand mouse button). If you then click the master in the structure tree, the property pages can be used to set the properties not only of the master, but also of the associated slaves.

The general procedure for developing a design of a cam is based on VDI (Verein Deutscher Ingenieure) Guideline 2143. The rough design of the movement - the movement plan - defines the starting and end points of the movement section. The editor, however, does not make a distinction between the movement sketch and the movement diagram containing the detailed description of the movement.

The user's interface to the cam design editor is graphic. Following interactive graphic entry of the points in the graphic window, the co-ordinates of the points are displayed in the table window above it. New points can only be inserted in the graph, and it is only possible to delete existing points via the graph. The properties of the points - the co-ordinate values or their derivatives - can also be interactively manipulated in the table window.

Not just the position, but also the velocity, acceleration and jerk can be displayed in the graphic area.

The mode of the display can be changed by a right mouse click in the graphic window, which opens the following menu:

Thus a separate Graphic Window is opened for each derivative.

The cam design editor is a flexible tool that provides the user with optimum support and only the minimum of restrictions. Therefore, responsibility for the choice of parameters lies with the user. The user, for instance, should carefully check whether the starting and end points correspond exactly to requirements. On the other hand, the user is offered the best possible assistance for checking velocity, acceleration and jerk through the graphic display facilities.

With all these options, however, the user must remember that it is physics that sets the limits to the possible movement.


The Properties of the Master

The master's property page offers the following facilities:

The minimum and maximum master positions can be specified.

The Normed switch allows you to choose between a normalised display and a physically oriented display in which the velocity, acceleration and jerk of the slave are shown against time. The normalised display refers these displays to the master position.

The velocity of the master is needed for the physically oriented display; it is necessary, first of all, to distinguish here between a linear and a rotary axis (angular values quoted in degrees). When the data is transferred to the NC, the choice between a linear and a rotary axis specifies whether the table type is linear or cyclic.

For a rotary Master, the first and second derivatives at the end are set equal to the corresponding figures at the start of the movement cycle, if the starting and end positions of the slave correspond to the minimum and maximum positions of the master.

The increment specifies the increment of the master position used for output of the table into a file. If an equidistant table is to be generated, the total length (the actual maximum minus the minimum) should be divisible by the increment. When the project is saved in the registry, the information required to generate and transfer the tables with this increment is created in the NC.

The Rounding Value rounds the master position in the graphic input with the given value.

In order to import slaves, a right mouse click on the master in the tree view allows the Import Slave... item from the menu

to be selected.

It is possible here to export the master data, including the slave data. It is possible to import this data via the tree view under the Tables item.


The Properties of the Slave

The slave's property page offers the following facilities:

Maximum and minimum values can be specified for position, velocity, acceleration and jerk. These values can be used as initial specifications when the graphic window is first displayed. Adjustment to the current values in the diagram can be performed in the relevant graphic window with the [image] Adjust to Extreme Values command.

The Rounding Value rounds the slave position in the graphic input with the given value.

Export allows the slave's values to be stored in an ASCII file in the form of master position, slave position, on one line each. The master position increment is specified in the master's property page.

Import allows files in the format just described to be read in. The values can then be displayed as cubic splines. The type of the spline still needs to be adjusted in the table, according to the values.

The Table Id provides a unique identifying number (1..255) for the table, with the aid of which the table data is stored in the NC. It can be changed to using a right mouse click in the menu

with the Change Id... command.

Export Slave... allows the data from a movement diagram to be saved in an export file (*.tce). This data can be imported again under a master.


Graphic Window

The slave's position and derivatives are each shown in separate graphic windows.

The associated toolbar includes both buttons that are only related to the graph

as well as the special commands for the cam plate editor.

The graphic commands are divided into the Input Mode [image] and the zoom and shift commands:

Zoom

Zoom all

Shift (if the Pan outside switch is active in the pop-up menu, it is also possible to shift beyond the limits).
This command only becomes active when the zoom command has been called.

Show/hide Overview Window. This window can only be switched on if you have zoomed into the window.

When the Overview Window is switched on, it is not only possible to see which section the graph window is looking at, but this section can be moved, or it is possible to zoom to a new section.

The horizontal and verticalScrollbars can be used to shift the Graphic Section; the horizontal scrollbar acts on all the graphic windows at the same time.

If you're using an IntelliMouse with a ScrollWheel and then you can zoom with the ScrollWheel.

The toolbar and its commands can be displayed or hidden via the menu that is opened by a right mouse click (in the graphic window).

This window also has a horizontal scrollbar if the Horizontal Scrollbar option is activated. All the horizontal scrollbars are synchronised.

The Cross on Point option causes the starting and end points of a movement section to be indicated by a cross.

The Show Online Data displays the table data that are currently in the NC with the associated table ID as a cubic spline. Currently this can result in a distorted display, because the linear tables are displayed as natural splines (second derivative at the edges equals 0). The data is displayed in the same colour, but somewhat darker.

The data is automatically transferred by ADS, as soon as Online Mode is switched on. The current data can be read by switching the mode on and off.

When the project is saved in the registry, the information required to generate and transfer the tables is created in the NC.


Tables Window

The values for the movement section are displayed in the table window:

Table header | Description
Function | Indicates the function type (see function types)
X start | Initial value of the master position (the icon in front of the value indicates the point's type )
Y start | Initial value of the slave position
Y' start | Initial value of the slave velocity
Y'' start | Initial value of the slave acceleration
Y''' start | Initial value of the slave jerk
X end | Final value of the master position (the icon in front of the value indicates the point's type )
Y end | Final value of the slave position
Y' end | Final value of the slave velocity
Y'' end | Final value of the slave acceleration
Y''' end | Final value of the slave jerk
Symmetry | Symmetry value of the law of motion

The values can be altered via the keyboard, although restrictions are applied arising from the choice of function type or other boundary conditions for the points.

Since movement sections are normally continuous - except for Slide Points - the end point and its derivatives at the end of the section is equal to the corresponding values at the start of the following movement section. For this reason it is normally always the initial values that should be manipulated. In addition to this, if any inconsistencies are seen in the graph of a completed movement diagram, the agreement of the initial and end points should be checked. If certain values in the table cannot be changed, consideration should be given to the boundary conditions applying to the points. It may be appropriate to change them. The boundary conditions limit the scope of the functions in sections in accordance with their type.

The symmetry of the functions can only be changed for the following types: Polynom3, Polynom5, Polynom8, Sinusline, ModSinusline, Bestehorn, AccTrapezoid. Normally the inflection on the curve (acceleration = 0) at 50 % = 0.5. This value can be changed in the table or in the diagram of the acceleration (Example 6).

Function Types

In addition to the standard types (synchronous/automatic), which can be changed by command on the graph, the function type can also be modified in the combobox. When the combobox - or a field in the first column - is first clicked, a rectangle is temporarily shown in the position window, with the initial and end points of the section at its corners. As soon as another field in the table window is activated, either the rectangle for this one is shown, or no rectangle is displayed at all.

The types correspond to those of VDI Guideline 2143; additionally, there are the cubic splines, with the boundary conditions of natural, tangential and periodical.

Type | Description | Boundary condition
Synchronous | Synchronous movement (constant transmission ratio between slave and master, corresponds to normalised velocity) | Constant velocity v, acceleration a=0
Automatic | Automatic adaptation to the boundary values |
Polynom3 | 3rd order polynomial | v=0, a=0
Polynom5 | 5th order polynomial (limited version, rest in rest) | v=0, a=0
Polynom8 | 8th order polynomial | v=0, a=0
Sinusline | Sinusoidal line (see VDI Guideline 2143) | v=0, a=0
ModSinusline | Modified sinusoidal line (see VDI Guideline 2143) | v=0, a=0
Bestehorn | Bestehorn sinusoidal line (see VDI Guideline 2143) | v=0, a=0
AccTrapezoid | Acceleration trapezoid | v=0, a=0
SinusSyncKombi | Sinus line combination | v=0, a=0
ModSinusline_VV | Modified sinusoidal line - velocity to velocity | a=0
HarmonicKombi_RT | Harmonic combination - rest to turn | v=0; Start: a=0
HarmonicKombi_TR | Harmonic combination - rest to turn | v=0; End: a=0
HarmonicKombi_VT | Harmonic combination - velocity to turn | Start: a=0; End: v=0
HarmonicKombi_VT | Harmonic combination - turn to velocity | Start: v=0; End: a=0
AccTrapezoid_RT | Acceleration trapezoid - rest to turn | v=0; Start: a=0
AccTrapezoid_RT | Acceleration trapezoid - rest to turn | v=0; End: a=0
Polynom7_MM | 7th order polynomial with fit to boundary values (velocity , acceleration and jerk) |
Spline | Internal section of a cubic spline |
Spline Natural | Initial or end section of a natural cubic spline | a=0
Spline Tangential | Initial or end section of a tangential cubic spline |
Spline Periodic | Initial or end section of a cyclic cubic spline |
Polyline | Initial or end section of a linear spline |

Changing the type of spline at the first point implies that the spline type as a whole is changed, including that of the end point.

If Spline Tangential is chosen as the spline type, the boundary conditions (first derivative at the starting and end point) should be modified.

At the Motion functions with fit to boundary values the R is for Rest, V for Velocity, T for Turn and M for Motion.


Commands

The cam design editor offers the following commands, and these may be called up through the toolbars on the relevant graphic window:

can only be called if input mode [image] is active for graphic commands.

All these commands are only applicable to the associated window.

Adjustment to the Extreme Values

The window's co-ordinates are adjusted to the extreme values of the movement

Measurement of Distance

The horizontal and vertical distance to the current point from the point first clicked with the left mouse button is displayed at the top right hand corner of the window (please hold the mouse button down for this).

Current Position

The absolute horizontal and vertical position of the point currently clicked with the left mouse button is displayed at the top right hand corner of the window (please hold the mouse button down for this).

Horizontal Shift

Moves the selected point horizontally

In the velocity window for synchronous functions: shift along a straight line in the position window.

The left-hand edge of the graphic area can be temporarily moved in this way, so that the scale can be more easily read.

Vertical Shift

Moves the selected point vertically

In the velocity window for synchronous functions: adjustment of the position in the position window to the velocity

In the acceleration window for automatic function: adjustment of the acceleration

Shift

Moves the selected point

The following commands only apply in the graphic window for position:

Insert Point

Inserts a point at the cursor position

Synchronous Function

The chosen section is passed through with a synchronous function

Automatic Function

An optimum function is selected automatically for the chosen section including adjustment to the boundary values

Delete Point

The selected point is deleted, as is the corresponding section

The following four items define specific boundary conditions for the points:

The point type is correspondingly displayed in front of the point in the table window. This restrictions can mean that the end value of a section does not agree with the initial value for the following section.

Rest Point

The selected point is defined as a rest point (boundary condition: v=0, a=0)

Velocity Point

The selected point is defined as a velocity point (boundary condition: a=0)

Reversal Point

The selected point is defined as a reversal point (boundary condition: v=0)

Movement Point

The selected point is defined as a movement point (no boundary conditions)

Slide Point

The starting position of the following section or the end position of the previous

section is set at the cursor position, without changing the selected section.

The point can then be moved on to the section using horizontal shift.

Delete Slide Point

The slide point is deleted and the sections are joined together as they were previously.


Overview

The general procedure for creating a motion diagram is illustrated in the following simple examples.

Example 1:

For a rotary motion , a specific linear motion of the slave is to occur in a specified area of the master position.

Example 2:

For a rotary motion , a specific slave position should be passed through at a defined velocity at a prescribed master position.

Example 3:

For a rotary motion , a specific linear motion of the slave is to occur in a specified area of the master position. The motion has no rest.

Example 4:

Synchronisation to a given specific motion .

Example 5:

A rest in turn motion

Example 6:

Modification of the symmetry value in the graphics to fit acceleration values .


Example 1:

The procedure for creating a motion diagram is illustrated in this simple example.

The task:

The following slave motion is to be implemented for a rotation of the master axes from 0 to 360 degrees.

  1. A rest (stationary slave axis) between 0 and 30 degrees
  2. A linear motion between 150 degrees and 240 degrees from slave position 20 mm to slave position 40 mm
  3. A rest (stationary slave axis) between 340 and 360 degrees
  4. The other motion sections are to join those mentioned above smoothly and with limited jerk.

In a new configuration of the System Manager, we use a right mouse click under NC Configuration to insert a new task under a Append Task. In the Tables that it contains, we right click with the mouse to create a new master using Append Table, and also to create a slave under Append Slave.

When Slave 1 has been selected in the tree, both the Graphic and Table Window appear.

The Insert Point command is used in the graphic window to click the points at their approximate positions in the window. The corresponding values will then be inserted into the table window.

A certain amount of information must be added so that this motion plan can become a motion diagram. For the first, third and fifth sections we use the Synchronous Function command to specify by clicking with the mouse in the corresponding sections that a linear motion should take place there. In the second and fourth sections, the Automatic Function command is used to implement automatic adaptation to the boundary conditions.

The position of the points can now be manipulated using the shifting commands.

If Select 3 Graph View is selected with a right mouse click, then in addition to the position of the slave in the first graphic window, the velocity is shown in a second window and the acceleration in a third.

The size of the windows can be altered interactively, by placing the mouse on the edge and dragging it with the left mouse button.

So that the positions can be reached exactly, they are entered in the table view.

The same (basic) commands that can be used in MS Excel can be applied in the table. Cutting and pasting is possible within each cell.

The motion diagram that has been created can be saved as a file in the slave's properties window.


Example 2:

The procedure for creating a motion diagram is illustrated again in this next simple example.

The task:

The following slave motion is to be implemented for a rotation of the master axes from 0 to 360 degrees.

  1. A rest (stationary slave axis) between 0 and 50 degrees
  2. A velocity of -0.4 (normalised) at master position 150 and slave position 45.
  3. A rest (stationary slave axis) between 270 and 360 degrees

In a new configuration of the System Manager, we use a right mouse click under NC Configuration to insert a new task under a Append Task. In the Tables that it contains, we right click with the mouse to create a new master using Append Table, and also to create a slave under Append Slave.

When Slave 1 has been selected in the tree, both the Graphic and Table Window appear.

The Insert Point command is used in the graphic window to click the points at their approximate positions in the window. The corresponding values will then be inserted into the table window.

A certain amount of information must be added so that this motion plan can become a motion diagram. For the first and fourth sections we use the Synchronous Function command to specify by clicking with the mouse in the corresponding sections that a linear motion is to be used there. In the second and third sections, the Automatic Function command is used to implement automatic adaptation to the boundary conditions.

If Select 3 Graph View is selected with a right mouse click, then in addition to the position of the slave in the first graphic window, the velocity is shown in a second window and the acceleration in a third.

The velocity of -0.4 is simply entered into the table.

The acceleration is set to a zero value by default. But since we do not, however, want to force the acceleration to zero at this point, but want the motion to be executed with the minimum jerk, we shift the third point vertically in the acceleration window interactively. If we want to check the jerk, it can easily be displayed in with a right mouse click and choosing Select 4 Graph View.

The motion diagram that has been created can be saved as a file in the slave's properties window.


Example 3:

The procedure for creating a motion diagram is illustrated again in this next simple example.

The task:

The following slave motion is to be implemented for a rotation of the master axes from 0 to 360 degrees.

  1. A velocity of -0.2 (normalised) from master position 140 to 240 and from slave position 10.
  2. The motion has no rest.

In a new configuration of the System Manager, we use a right mouse click under NC Configuration to insert a new task under a Append Task. In the Tables that it contains, we right click with the mouse to create a new master using Append Table, and also to create a slave under Append Slave.

When Slave 1 has been selected in the tree, both the Graphic and Table Window appear.

The Insert Point command is used in the graphic window to click the points at their approximate positions in the window. The corresponding values will then be inserted into the table window.

A certain amount of information must be added so that this motion plan can become a motion diagram. For the second section we use the Synchronous Function command to specify, by clicking with the mouse inside that section, that a linear motion is to be used there. In the first and third sections, the Automatic Function command is used to implement automatic adaptation to the boundary conditions. If Select 3 Graph View is selected with a right mouse click, then in addition to the position of the slave in the first graphic window, the velocity is shown in a second window and the acceleration in a third.

The fact that it is a rotary axis is specified in the master's properties. Because the starting position corresponds to the master's minimum, and the end position corresponds to its maximum, the first and second derivatives at the end of the diagram are set equal to those at the beginning. It is still possible to adjust the velocity and acceleration at the beginning interactively (vertical shifting) in their windows.

When the data has been saved in the registry and TwinCAT has been started again, the online data can be displayed.

.

It is displayed in the same colour, but with a dotted pen.


Example 4:

The procedure for creating a motion diagram is illustrated again in this next simple example.

The task:

The following slave motion is to be implemented for a rotation of the master axes from 0 to 360 degrees.

  1. A rest (stationary slave axis) between 0 and 30 degrees
  2. Synchronisation to a specified motion (from master position 100 and slave position 10 to the positions 200 and 90 respectively, with an eighth order polynomial motion function) .
  3. A rest (stationary slave axis) between 300 and 360 degrees

In a new configuration of the System Manager, we use a right mouse click under NC Configuration to insert a new task under a Append Task. In the Tables that it contains, we right click with the mouse to create a new master using Append Table, and also to create a slave under Append Slave.

When Slave 1 has been selected in the tree, both the Graphic and Table Window appear.

The Insert Point command is used in the graphic window to click the points at their approximate positions in the window. The corresponding values will then be inserted into the table window.

A certain amount of information must be added so that this motion plan can become a motion diagram. For the first, third and fifth sections we use the Synchronous Function command to specify by clicking with the mouse in the corresponding sections that a linear motion is to be used there. In the second and fourth sections, the Automatic Function command is used to implement automatic adaptation to the boundary conditions.

If Select 3 Graph View is selected with a right mouse click, then in addition to the position of the slave in the first graphic window, the velocity is shown in a second window and the acceleration in a third.

Using the Slide Point command, and by selecting a point in the first half of the third section, the end point of the second section is placed on the function graph of the third. Using the Slide Point command, and by selecting a point in the second half of the third section, the starting point of the fourth section is placed on the function graph of the third. The master and slave positions should now be set in the table for the third section, and the function type changed in the combobox to polynom8. In the same way the master and slave positions for the first and fifth sections are now set.

With vertical shifting it is now possible to move the end point of the third section or the starting point of the fourth section on to the third section, and the first and second derivatives to be adjusted automatically at the same time.

With a right mouse click and selection of Export Slave .. the motion diagram that has been created a can be saved as an export file. This can then be imported later into some project under the System Manager.


Example 5:

The procedure for creating a motion diagram is illustrated in this simple example.

The task:

The following slave motion is to be implemented for a rotation of the master axes from 0 to 360 degrees.

  1. A rest (stationary slave axis) between 0 and 20 degrees
  2. A turn at 180 degrees and 240 degrees at slave position 100 mm
  3. A rest (stationary slave axis) between 340 and 360 degrees

In a new configuration of the System Manager, we use a right mouse click under NC Configuration to insert a new task under a Append Task. In the Tables that it contains, we right click with the mouse to create a new master using Append Table, and also to create a slave under Append Slave.

When Slave 1 has been selected in the tree, both the Graphic and Table Window appear.

The Insert Point command is used in the graphic window to click the points at their approximate positions in the window. The corresponding values will then be inserted into the table window.

A certain amount of information must be added so that this motion plan can become a motion diagram. For the first and fourth sections we use the Synchronous Function command to specify by clicking with the mouse in the corresponding sections that a linear motion should take place there. In the second section in the table of Function the AccTrapezoid_RT is selected and in the third one the the AccTrapezoid_TR.

The position of the points can now be manipulated using the shifting commands.

If Select 3 Graph View is selected with a right mouse click, then in addition to the position of the slave in the first graphic window, the velocity is shown in a second window and the acceleration in a third.

The size of the windows can be altered interactively, by placing the mouse on the edge and dragging it with the left mouse button.

So that the positions can be reached exactly, they are entered in the table view.

The boundary values at the point (180,100) are yet that the acceleration is zero. Therefore the graphics looks like the former one. Because the AccTrapezoid can not fit to these boundary conditions the Polynomial of 5th degree is used. When the acceleration is modified from a certain value on the AccTrapezoid is used. Now one can fit in the graphics the acceleration to the needs.


Example 6:

The procedure for creating a motion diagram is illustrated in this simple example.

The task:

The following slave motion is to be implemented for a rotation of the master axes from 0 to 360 degrees.

  1. A rest (stationary slave axis) between 0 and 20 degrees
  2. A rest between 170 degrees and 190 degrees at slave position 100 mm
  3. A rest (stationary slave axis) between 340 and 360 degrees
  4. The other motion sections are to join those with a 8th oder polynomial.

In a new configuration of the System Manager, we use a right mouse click under NC Configuration to insert a new task under a Append Task. In the Tables that it contains, we right click with the mouse to create a new master using Append Table, and also to create a slave under Append Slave.

When Slave 1 has been selected in the tree, both the Graphic and Table Window appear.

The Insert Point command is used in the graphic window to click the points at their approximate positions in the window. The corresponding values will then be inserted into the table window.

A certain amount of information must be added so that this motion plan can become a motion diagram. For the first, third and fifth sections we use the Synchronous Function command to specify by clicking with the mouse in the corresponding sections that a linear motion should take place there. In the second and fourth sections in the table of Function the Polynomial 8 is selected.

The position of the points can now be manipulated using the shifting commands.

If Select 3 Graph View is selected with a right mouse click, then in addition to the position of the slave in the first graphic window, the velocity is shown in a second window and the acceleration in a third.

The size of the windows can be altered interactively, by placing the mouse on the edge and dragging it with the left mouse button.

So that the positions can be reached exactly, they are entered in the table view.

In the graphics of the acceleration there is a cross at zero crossing. This point can be moved horizontaly. This modifies the symmetry value and the positive and negative acceleration.

This possibility exists only for the rest in rest motion functions (Polynom3, Polynom5, Polynom8, Sinusline, ModSinusline, Bestehorn, AccTrapezoid).