Cam controller function
For a better understanding of the cam controller function it is important to know how the configured cams are optimised for fast processing. The cam controller converts the cam information of all cams into a cam table. This cam table contains the status of all outputs at a certain angle of rotation. The advantage of this approach is very fast cam output, since switching of the cam tracks is separated from the complex cam calculation including dead time compensation. The cam table is thus calculated correctly for a predetermined set speed. The system will adapt to varying velocities, although the exact switching points can only be guaranteed for continuous speed.
Cam tables
The cam controller creates an internal cam table with a fixed number of rows. The number of rows is determined by the configured resolution. The table thus either consists of 360 rows, or the number matches the number of encoder increments (e.g. 4096). In the second case the angle allocated to a row is calculated as
angle = row number / number of encoder increments * 360°
e.g. angle for row no. 1000: 1000 / 4096 * 360° = 87.891°
Each table row contains the status of all cam tracks (digital outputs) for the associated encoder angle. The status is a result of all configured cams, i.e. switching points, switching times, and dead times.
The cam table is initially executed once on system start-up and subsequently recalculated under certain conditions, such as after a significant change in velocity. A recalculation always takes place at 0 degrees, in order to ensure that the cam output within an encoder revolution is consistent.
The cam controller manages two switchable cam tables (variable Reverse Mode). Each cam can be configured for one or both tables (parameter Standard Active or Reverse Active). Switching between the two tables is initiated by the PLC.
Mapping of a distance cam in the cam table
A distance cam is defined between a switch-on position and a switch-off position. In the cam table 1 is entered in all table rows between these two positions. All other table rows remain at 0, if no further cams contact the same cam track.
Mapping of a time cam in the cam table
A time cam is defined from a switch-on position with a certain switch-on time. In the cam table all table rows from the switch-on position up to a position that is greater by 1 degree are set to 1. All other entries are 0. Although the time cam (like a distance cam) is entered in the cam table with a switching angle with a width of 1 degree, the switch-off position is irrelevant. The cam output is in fact time-based: The cam output is initially switched on at the switch-on position. A timer then starts running in the cam controller that switches the output off after the defined switching time.
Mapping of a brake cam in the cam table
A brake cam is defined with a certain brake position. In the cam table all table rows from the brake position up to a position that is greater by 1 degree are set to 0. All other entries are 1. Although the brake cam (like a distance cam) is entered in the cam table with a switching angle with a width of 359 degree, the switch-on position is irrelevant. The cam output is a special function that keeps the output switched on as long as the PLC has set brake enable to 1. When brake enable is cancelled by the PLC, the output track is switched off at the defined brake position and remains switched off.
Recalculation of the cam tables
The cam table calculation is based on set velocity of the cam controller (HPM Preset [rpm]) specified by the user (PLC). As long as the Coupled flag is not set by the PLC, the cam table is calculated based on this velocity.
The user also specifies a velocity tolerance (HPM Difference [rpm]). The cam controller monitors deviations from the set velocity when the Coupled flag was set by the PLC. The table is recalculated if the current speed deviates by more than the difference value from last velocity with which the cam table was calculated. If HPM Difference is specified as 0, the table is not recalculated.
For velocity fluctuations within the range +/- HPM Difference the cam table is not immediately recalculated. HPM Preset should correspond to the mean expected speed, and HPM Difference should be set such that small expected velocity fluctuations do not lead to recalculation of the cam table. Deviations within the range +/- HPM Difference are integrated over time, so that a small mean deviation eventually also leads to recalculation of the cam table and adaptation to the mean velocity.
Individual cam parameters, e.g. the switching positions, can be changed through the PLC program. After a change the cam table is updated without being fully recalculated.
Optionally, recalculation of the cam table can be initiated by the PLC program via a function block. For example, it may be sensible to initiate recalculation after a velocity change, as soon as the new continuous velocity level is reached.
In order to ensure consistency of the cam switching points, a newly calculated cam table only becomes active at the next encoder zero transition after the calculation is completed.