Master-Slave 06/2005
Danaher
Motion
For example, suppose you want a cam to run four cycles as shown below:
You would use the following line:
CAM1.CYCLE = 4 ' Run cam1 four cycles
If you want a cam to run the same table an indefinite number of times, use:
CAM1.CYCLE = -1 'Run the cam indefinitely
When two cam tables are interconnected in a double-linked chain, only one
cam table is active at a time. This enables changes in the other chained cam
table by controlling the cycle time parameter of the active cam table. Setting
its value to –1 results an infinity periodic of the active cam. After updating all
the relevant values in the chained table, set the active table cycle to 1. At the
end of the current period, the two tables are exchanged and the chained cam
table is generated.
You can monitor the number of cycles run with
<axis>.CAMCYCLE
. When
the master is moving forward,
CAMCYCLE
counts up. When
CAMCYCLE
reaches
CYCLE
, the axis transitions to the next cam, if there is one.
Similarly, when the master is running backward and
CAMCYCLE
reaches 0,
the cycle transitions to the previous cam, if there is one.
The MC allows you to specify multiple cam tables at the same time. The
maximum number of cam tables is 256. The MC allows you to link cam
tables together using two properties of the current cam table:
NEXT
and
PREVIOUS
. These properties allow automatic transition from one cam table
to another without the accumulation of error in the master or slave positions.
To link one table to another, assign
NEXT
and
PREVIOUS
to the desired
cam table. For example:
StartCam.Next = ForwardCam
StartCam.Previous = ReverseCam
The linking of the three cams (Cam0, Cam1, Cam2) is shown in the next
figure.
Set
NEXT
and
PREVIOUS
independently. The
NEXT
and
PREVIOUS
pointers cannot be changed dynamically. The change takes place at the next
transition of the cam table. If you do not want to link to another cam at the
end of the current cam's cycle, set
NEXT
and
PREVIOUS
to NULL (0).
112 Rev
E
M-SS-005-03l