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.


TwinCAT NC SLAVES Universal Flying Saw

Note:

The Flying Saw with the extended functionality described here is available as from TwinCAT Version 2.9, Build 248. It is referred to as the "Universal Flying Saw" in contrast to the former "Flying Saw". New projects should make exclusive use of the new functionalities of the "Universal Flying Saw".

General

The Flying Saw is a slave axis that can be synchronised to a moving master axis. The slave axis moves in synchronism with the master axis to perform machining processes. This kind of movement, synchronised to the master axis, means that a workpiece can be machined even while it is being transported.

An important difference between the "Flying Saw" and the "Universal Flying Saw" is associated with the initial conditions required of the slave axis for the synchronisation. The "Universal Flying Saw", unlike the "Flying Saw", is able to start synchronisation of the slave even when the slave has already started, and is therefore no longer stationary. The "Universal Flying Saw" also calculates improved set value profiles, and these can be influenced by the user through a wide range of boundary conditions.

The ratio of the master velocity to the slave velocity in the synchronous phase is parameterised via a variable coupling factor. This coupling factor in the case of a diagonal saw, for instance, is chosen to be unequal to 1, so that the velocity component of the slave axis in the direction of the master axis movement (vslave parallel to Vmaster) in the synchronised phase is equal to the master velocity (vmaster). (See diagram.)

The Universal Flying Saw basically provides two different synchronisation methods. In the case of synchronisation to velocity the slave is synchronised to the master as quickly as possible, bearing in mind the coupling factor. The coupling position for the master and slave axes therefore results from having set the fastest possible synchronisation as the target. In contrast to this, the coupling position of the master and slave axes is parameterised by the user under synchronisation to position. The master and slave movements will in this case therefore be moving in synchronisation as from the specified position at the latest.

Both of these synchronisation methods permit a variety of boundary conditions to be specified for the synchronisation phase. These boundary conditions make it possible to adapt the synchronisation process to the needs of the machine.

Interfaces

The Universal Flying Saw is operated and monitored from the PLC using appropriate function blocks. For commissioning purposes, however, the Universal Flying Saw can also be started directly from the TwinCAT System Manager. In this case, the cyclic NC/PLC axis interface and ADS communication are used as the underlying interface.

Synchronisation to velocity

In Synchronisation to velocity the slave axis is synchronised to the master axis using the specified dynamic parameters as rapidly as possible. In the synchronous phase, the slave velocity is proportional to the master velocity, so that:

The synchronisation procedure

Synchronisation of the slave axis to the master axis proceeds according to the following scheme:

  1. Starting the Universal Flying Saw. This corresponds to the logical coupling to the master axis. This moment is referred to as the coupling time.
  2. The synchronisation phase: The slave is accelerated from its initial condition up to the velocity of the master whilst observing the boundary conditions for slave movement specified by the user. The time at which the synchronisation phase changes to the synchronous phase is referred to as the synchronisation time.
  3. Synchronous phase: The slave moves synchronously with the master.
  4. Uncoupling the Universal Flying Saw. This is an online change. The coupled slave once again becomes an independent master that continues to move without limit with the velocity resulting from the online change.
  5. This could mean that the former slave restarts or stops. The full functionality of a TwinCAT NC master axis is once more available.

Synchronisation to position

In Synchronisation to position the slave axis is synchronised to the master at the specified synchronisation position using the specified dynamic parameters. This means that the slave axis reaches the synchronous velocity at exactly the synchronisation position of master and slave, after which it moves in synchronism with the master. The slave velocity in the synchronous phase is governed by:

The synchronisation procedure

Synchronisation of the slave axis to the master axis proceeds according to the following scheme:

  1. The start of the Universal Flying Saw. This is the logical coupling to the master axis. This moment is referred to as the coupling time.
  2. The synchronisation phase: The slave is accelerated from its initial condition to the master's velocity, reaching the slave synchronisation position and synchronisation velocity precisely at the specified master synchronisation position. The boundary conditions specified by the user for slave movement are maintained during this process. The time at which the synchronisation phase changes to the synchronous phase is referred to as the synchronisation time.
  3. Synchronous phase: The slave moves synchronously with the master.
  4. Uncoupling the Universal Flying Saw. This is an online change. The coupled slave once again becomes an independent master that continues to move without limit with the velocity resulting from the online change.
  5. This could mean that the former slave restarts or stops. The full functionality of a TwinCAT NC master axis is once more available.

Parameterisable boundary conditions governing synchronisation

In principle, any initial conditions may apply to the calculation of the synchronisation profile for the master and slave axes.

The transition of the slave's movement from its initial state to the synchronous state is calculated in such a way that boundary conditions that can be specified by the user and that govern the slave's movement are maintained. These boundary conditions can be used, for instance, to limit the maximum slave velocity, or to prevent an overshoot in its position.

The calculation and checking of the parameterisable boundary conditions proceeds on the basis of the characteristic values determined for the synchronisation phase. In the determination of the characteristic values, the idealised assumption is made that the master axis will continue to move at a constant velocity, i.e. with no acceleration, after the coupling time. Exact calculation and checking of the parameterisable boundary conditions is only possible if this assumption is made. Any other reasonable assumption about the future movement of the master is not possible, since the master's future movement is not known at the time of coupling.

An acceleration of the master that might occur in the future will also affect the slave dynamics as a result of the coupling. Such acceleration by the master will have the effect that the calculated and checked values may be overshot or undershot in some cases, depending on the master's acceleration. Characteristic values that may be affected by master acceleration can be seen in the tabular description of the characteristic values.

Characteristic values describing slave movement

The characteristic values governing the movement that the slave will undergo during the synchronisation phase are available to the user after the Universal Flying Saw has been started. This value structure contains magnitudes such as the maximum slave acceleration, the minimum and maximum slave position, and so forth. These values are calculated under the assumption that the master is free from acceleration, and are therefore in some cases only exactly correct for such a case.

Warning:

The master acceleration at the time that the "Universal Flying Saw" starts has a significant effect on the profile calculation and its optimisation. This means that if an encoder axis is the master, the velocity and the acceleration must be carefully filtered, or even that calculation of the actual acceleration may be deselected (see "Encoder mode").


Synchronisation to velocity

Under synchronisation to velocity, a slave axis, starting in any state, is synchronised as quickly as possible to a moving master axis. The synchronous velocity of the slave here is given by the master velocity multiplied by the coupling factor.

The synchronisation phase of the slave axis is calculated in such a way that the boundary conditions specified by the user are maintained. Calculation and checking of these boundary conditions is carried out under the assumption that the master axis will continue to move without acceleration after the coupling time. If the master axis is not free moving, some overshoot or undershoot of the parameterised boundary conditions may occur.

Example 1:

In the illustrated phase 0 (left) the two axes are moving entirely independently. The future master axis is accelerating to 500 mm/s while the future slave axis is accelerating to -250 mm/s. As the phase changes from 0 to 2 the process of synchronisation to velocity in the Universal Flying Saw starts (StartSync = 1) and the set value profile for the synchronisation is calculated. This calculated set value profile for the slave is then specified for phase 2 of the slave axis. At the end of phase 2 the slave axis precisely achieves the synchronous velocity, which is the velocity of the master axis multiplied by the coupling factor. From this time on the axes are in the synchronous phase (phase 3). In this synchronous phase the two axes move synchronously in accordance with the coupling factor. The synchronous phase is ended by the uncoupling command. In the illustration, this corresponds to the transition from phase 3 to phase 0. From this time on they are again two independent master axes. The slave axis changes to a master axis online at the uncoupling time. This online change will remove any acceleration or deceleration to which the slave may be subject, thus fixing the velocity of the former slave, with which it will then continue to move without limit.

The phase currently applying to the slave axis can be seen in the nAxisState variable in the cyclic axis interface. (The names of the individual phases in the illustrations do not agree with the values of the nAxisState variable.)

(* Start parameters *)
fMasterVelo := 500;
fSlaveVelo := -250;

(* Coupling parameters *)
fGearRatio := 1.0;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

Example 2:

As example 1, but with coupling factor 1.5.

(* Start parameters *)
fMasterVelo := 500;
fSlaveVelo := -250;

(* Coupling parameters *)
fGearRatio := 1.5;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

Example 3:

The start of the coupling in the acceleration phase of the future slave.

(* Start parameters *)
fMasterVelo := -500;
fSlaveVelo := 400;

(* Coupling parameters *)
fGearRatio := 1;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

PLC function blocks

The function block MC_GearInVelo is used for the coupling. To end the synchronous phase by uncoupling (online change) the function block MC_GearOut is used.


NC

Synchronisation to position

In the case of synchronisation to position, the slave axis, starting from its initial state, is synchronised to the master axis in such a way that the required synchronous velocity (=vmaster· coupling factor) and synchronisation position are achieved precisely at the master's synchronisation position.

The synchronisation phase of the slave axis is calculated in such a way that the boundary conditions specified by the user are maintained. Calculation and checking of these boundary conditions is carried out under the assumption that the master axis will continue to move without acceleration after the coupling time. If the master axis is not free moving, some overshoot or undershoot of the parameterised boundary conditions may occur.

Example 1:

In the example illustrated, the future master and slave axes are independently started, moving in positive directions. At the time of the illustrated phase change from 0 to 2, the Universal Flying Saw is started with synchronisation to position (StartSync = 1). Synchronisation to position means that the slave axis reaches the synchronous velocity precisely as the master is at the master synchronisation position (master-sync-position) and when the slave is at the slave synchronisation position (slave-sync-position). The synchronous velocity corresponds to the master velocity multiplied by the chosen coupling factor. In the example illustrated here, the master-sync-position is identical to the slave-sync-position, which means that the master and slave positions are the same when the InSync signal provides a rising edge. In this example, 1 has been selected as the coupling factor, so that the master and slave velocities in the synchronous phase (3) are identical. At the time when the phase changes from 3 to 0, the slave axis is uncoupled from the master axis (online change), and then continues to move once again as an independent master axis. The slave axis changes to a master axis online at the uncoupling time. This online change will remove any acceleration or deceleration to which the slave may be subject, thus fixing the velocity of the former slave, with which it will then continue to move without limit.

The phase currently applying to the slave axis can be seen in the nAxisState variable in the cyclic axis interface. (The names of the individual phases in the illustrations do not agree with the values of the nAxisState variable.)

(* Start parameters *)
fMasterVelo := 500;
fSlaveVelo := 250;
fMasterStartPos := -500;
fSlaveStartPos := -250;

(* Coupling parameters *)
fGearRatio := 1;
fMasterSynchronPos := 1000;
fSlaveSynchronPos := 1000;
fSlaveAcc := 2500;
fSlaveDec := 2500;
fSlaveJerk := 5000;

Example 2:

(* Start parameters *)
fMasterVelo := 500;
fSlaveVelo := -250;
fMasterStartPos := -500;
fSlaveStartPos := -500;

(* Coupling parameters *)
fGearRatio := 1.5;
fMasterSynchronPos := 1000;
fSlaveSynchronPos := 500;
fSlaveAcc := 10000;
fSlaveDec := 10000;
fSlaveJerk := 50000;

PLC function blocks

The function block MC_GearInPos is used for coupling. To end the synchronous phase, i.e. for uncoupling (online change of the slave into an independent master), the function block MC_GearOut is used.


NC

Characteristic values

Once the Universal Flying Saw has been started, the MC_ReadFlyingSawCharacteristics PLC function block can be used to read the characteristic values associated with the slave set value profile that has been calculated for the synchronisation phase. These characteristic values therefore refer neither to the synchronous phase nor to the preliminary phase, but only apply to the synchronisation phase!

The individual characteristic values are described in the table below.

Warning!

When calculating the dynamic characteristic values it is assumed that after the Universal Flying Saw has been started (after the coupling moment) the master will continue to move without acceleration. It follows that the calculated characteristic values are only precisely correct for a master that is not accelerating, and that in practice there may be overshoot or undershoot if the master accelerates or decelerates.

Structure of the characteristic values

The characteristic values are stored in the comprehensive MC_FlyingSawCharacValues structure, which contains the following magnitudes:

Remarks:

The start time described in the table always refers to the start of the synchronisation phase, while the end time refers to the end of the synchronisation phase (not the end of the synchronous phase)! The focus here is always on the synchronisation phase.
The third column of the table indicates whether any acceleration that the master may undergo will affect the characteristic value or not.

Denomination | Description | Independent of master acceleration
fMasterVeloNom | Master velocity at the start time of the Universal Flying Saw | no
fMasterPosStart | Master position at the start time of the Universal Flying Saw | yes
fSlavePosStart | Slave position at the start time of the Universal Flying Saw | yes
fSlaveVeloStart | Slave velocity at the start time of the Universal Flying Saw | no
fSlaveAccStart | Slave acceleration at the start time of the Universal Flying Saw | no
fSlaveJerkStart | Slave jerk at the start time of the Universal Flying Saw | no
fMasterPosEnd | Master position at the end of the synchronisation phase | yes
fSlavePosEnd | Slave position at the end of the synchronisation phase | yes
fSlaveVeloEnd | Slave velocity at the end of the synchronisation phase | no
fSlaveAccEnd | Slave acceleration at the end of the synchronisation phase | no
fSlaveJerkEnd | Slave jerk at the end of the synchronisation phase | no
fMPosAtSPosMin | Master position at the time of the minimum slave position | no
fSlavePosMin | Minimum slave position | yes
fMPosAtSVeloMin | Master position at the time of the minimum slave velocity | no
fSlaveVeloMin | Minimum slave velocity | no
fMPosAtSAccMin | Master position at the time of the minimum slave acceleration | no
fSlaveAccMin | Minimum slave acceleration | no
fSVeloAtSAccMin | Slave velocity at the time of the minimum slave acceleration | no
fSlaveJerkMin | Minimum slave jerk | no
fSlaveDynMomMin | Minimum slave dynamic moment (NOT SUPPORTED YET!) | no
fMPosAtSPosMax | Master position at the time of the maximum slave position | no
fSlavePosMax | Maximum slave position | yes
fMPosAtSVeloMax | Master position at the time of the maximum slave velocity | no
fSlaveVeloMax | Maximum slave velocity | no
fMPosAtSAccMax | Master position at the time of the maximum slave acceleration | no
fSlaveAccMax | Maximum slave acceleration | no
fSVeloAtSAccMax | Slave velocity at the time of the maximum slave acceleration | no
fSlaveJerkMax | Maximum slave jerk | no
fSlaveDynMomMax | Minimum slave dynamic moment (NOT SUPPORTED YET!) | no
fSlaveVeloMean | Mean absolute slave velocity (NOT SUPPORTED YET !) | no
fSlaveAccEff | Effective slave acceleration (NOT SUPPORTED YET !) | no


NC

Parameterisable boundary conditions, specifying the mode of operation

It is possible to specify a wide variety of boundary conditions for the slave movement in the synchronisation phase of the Universal Flying Saw. These boundary conditions make it possible to specify limit values for the slave magnitudes listed in the table below. The SyncMode bit mask can be used to check whether the individual limit values are being observed. The boundary conditions specified for the synchronisation phase also affect the set value profile for the synchronisation. Whether, and in what way, the conditions affect the profile can be seen in the diagram in the section below.

Bit masks for the "SyncMode" |  |  | Description | Boundary condition
Define: GEARINSYNC_CHECKMASK_ | Value Decimal | Value Hexadecimal
MINPOS | 1 | 0x0000 0001 | Checks whether the slave axis has passed below its software minimum end position (machine data). | posSlave ≥ posSlaveMin
MAXPOS | 2 | 0x0000 0002 | Checks whether the software maximum end position (machine data) of the slave axis has been exceeded. | posSlave ≤ posSlaveMax
MAXVELO | 4 | 0x0000 0004 | Checks whether the maximum permitted slave velocity (machine data) has been exceeded. | | vSlave | ≤ vSlaveMax
MAXACC | 8 | 0x0000 0008 | Checks whether the maximum slave acceleration (machine data) has been exceeded. | accSlave ≤ accSlaveMax
MAXDEC | 16 | 0x0000 0010 | Checks whether the maximum slave deceleration (machine data) has been exceeded. | decSlave ≤ decSlaveMax
MAXJERK | 32 | 0x0000 0020 | Checks whether the maximum slave jerk (machine data) has been exceeded. | jSlave ≤ jSlaveMax
OVERSHOOTPOS | 256 | 0x0000 0100 | Checks for overshooting of slave position. |
UNDERSHOOTPOS | 512 | 0x0000 0200 | Checks for undershooting of slave position. |
OVERSHOOTVELO | 1024 | 0x0000 0400 | Checks for overshooting of slave acceleration. |
UNDERSHOOTVELO | 2048 | 0x0000 0800 | Checks for undershooting of slave acceleration. |
OVERSHOOTVELOZERO | 4096 | 0x0000 1000 | Checks whether the slave velocity has exceeded 0.0. |
UNDERSHOOTVELOZERO | 8192 | 0x0000 2000 | Checks whether the slave velocity is below 0.0. |
Bitmask for operational modi GEARINSYNC_OPMASK_ |  |  | Description
ROLLBACKLOCK | 65536 | 0x0001 0000 | Bit = 0: (default) When the slave has achieved the synchronous phase, synchronous coupling of all the following master movements is maintained until the coupling is removed. This also applies if the master changes direction and moves backwards over the coupling position. (Further explanations)
 |  |  | Bit = 1: Setting this bit activates the reverse motion stop, causing a slave to halt if the master, having changed the direction of its movement, goes back over the coupling position. (Further explanations)
INSTANTSTOPONROLLBACK | 131072 | 0x0002 0000 | Bit = 0: (default) On reaching the coupling position, the slave velocity is reduced smoothly following a 5th order polynomial. The polynomial is optimised to halt the slave as quickly as possible. (Further explanations)
 |  |  | Bit = 1: In terms of the set value, the slave is halted within one NC tick of reaching the coupling position. The slave velocity is reduced to 0.0, and the position is maintained. Warning: This abrupt halt can trigger the following error monitoring system! (Further explanations)
PREFERCONSTVELO | 1048576 | 0x0010 0000 | Bit = 0: (default)
 |  |  | Bit = 1: The system will try to use a phase with constant velocity, instead of just one 5th order polynomial. This may result in a combination of 5th order polynomial, a synchronous phase and a further 5th order polynomial (P5-P1-P5), (see further description). It uses the maximal acceleration and deceleration. To control the maximal jerk it is recommended to set MAXJERK.
IGNOREMASTERACC | 2097152 | 0x0020 0000 | Bit = 0: (default)
 |  |  | Bit = 1: In the calculation of the coupling the acceleration of the master is ignored (set to zero). Therfore the internal optimisation can be used. If the acceleration is small this leads to tolerable drag. When the drag is compensated the accuracy of the position is independent of this modi.

Warning!

The checks listed above apply only to the synchronisation phase (GEARINSYNCSTATE_SYNCHRONIZING), not to the phase of synchronised movement. These calculations and checks are also only possible when the assumption is made that the master continues to move with constant velocity after the coupling time, i.e. that it is not subject to acceleration. There would be no sense in making other assumptions about the master, as at the time of coupling it is not generally known how the master will move in future.


NC

Calculating the synchronisation phase

An attempt is made when calculating the synchronisation phase to find an optimum solution while observing the boundary conditions specified by the user. If it is not possible to observe the specified boundary conditions, the coupling is declined and an appropriate error message is issued.

Optimisations

As can be seen in the flow diagram illustrated below, the individual bit masks have some effect on the internal optimisation steps associated with the profile calculation, because the specified rules are applied to the search for an optimum ( see Parameterisable boundary conditions ). Essentially speaking, a 5th order polynomial or a combination of a 5th order polynomial with a 1st order polynomial is used. A 5th order polynomial is, in general, not free from overshoot, but the accelerations are more moderate than is the case with a combination of a 5th order polynomial with a 1st order polynomial. The combination of the 1st and 5th order polynomials is calculated in such a way that the combination is always free from overshoot. It does, however, result in higher magnitudes of acceleration and deceleration.

Warning:
The illustrated optimisations can only be executed if both the master and the slave axes are free from acceleration at the coupling time. If the axes are subject to acceleration, a 5th order polynomial is used for synchronisation. This is checked for maintenance of the specified boundary conditions, but cannot be optimised.

Warning:

If the master axis is an encoder axis (an "external encoder system"), something which as a rule is never mathematically free from acceleration, particular care must be taken to filter the actual acceleration. Alternatively the determination of the actual acceleration can be deselected in the encoder, i.e. set to zero. The NC also has an internal algorithm for this combination (master encoder axis with the Universal Flying Saw as a slave). This algorithm sets master accelerations whose magnitudes are less than (2.0 • scaling factor / cycle time2) to zero at the coupling time.

Optimisation step 1:

Aim: "Velocity profile free from undershoot or overshoot"

An attempt is first made to calculate a profile that synchronises the velocity without overshoot or undershoot (a combination of a first order polynomial and a 5th order polynomial or vice versa: in abbreviated form, polynomial1+polynomial5 or polynomial5+polynomial1). If the acceleration check is active at this stage, and if one or more of these limit values (acc, dec) is exceeded, then another profile, which in general is not free from overshoot (polynomial5) is calculated. If one of the active limit values (acc, dec) is still exceeded with his profile, then the synchronisation command is finally declined with an error code.

Optimisation step 2:

Aim: "Limitation to maximum permitted velocity"

If the first optimisation step is not possible, the second optimisation step checks whether the maximum permitted velocity for the slave axis is exceeded by a general standard profile (polynomial5). If this is the case, an attempt is made to generate a profile in which the maximum profile velocity is precisely the maximum velocity permitted to the slave axis (machine data) (polynomial5+polynomial1+polynomial5). It should be noted that this optimisation attempt usually results in larger values of acceleration or deceleration.
If the acceleration check is active at this stage, and if one or more of these limit values is exceeded, then this second optimisation step is rejected, and finally a profile, which is not in general free from overshoot (polynomial5), is calculated. If one of the active limit values (acc, dec) is still exceeded with his profile, then the synchronisation command is finally declined with an error code.

Optimisation flow diagram:

The optimisations carried out internally are illustrated in the following flow diagram. Essentially, the slave set value profile is calculated as a 5th order polynomial. This 5th order polynomial can be combined with a first order polynomial in order to maintain the parameterised boundary conditions. The way in which the individual boundary conditions influence the selection of the polynomials, and therefore the form of the set value profile, can be seen from the flow diagram illustrated below. The label "polynomial n and polynomial m" expresses the fact that polynomial n is first used in the synchronisation phase, followed by polynomial m.


NC

TwinCAT NC SLAVES Universelle Fliegende Säge

Interfaces

Cyclic axis interface

The variable nAxisState in the cyclic axis interface indicates the state of movement of the slave or master axis. The movement states of the slave axis are described in the table. All of those states that are not listed are master states, and these are explained elsewhere.

Remark: For the time being the slave states only apply to slaves of the "Universal Flying Saw" type!

Present state of the axis movement / movement phases of the continuous slave axis (servo)
nAxisState | Type | Description
0 | General | Generator not active | (INACTIVE)
other | Master-State | Explanation
11 | Slave-State | The slave is in a preliminary movement phase | (PREPHASE)
12 | Slave-State | The slave is in the synchronisation phase | (SYNCHRONIZING)
13 | Slave-State | Synchronisation of the slave has been achieved, and movement is synchronous | (SYNCHRON)

The diagram illustrates a typical coupling with the Universal Flying Saw. Before the Universal Flying Saw is started, there are two independent master axes (nAxisState < 10). The nAxisState = 12 after coupling has started in the synchronisation phase. Achievement of the synchronised phase is indicated by nAxisState = 13. After the slave axis has been uncoupled from the master axis nAxisState is then < 10, which means that its movement state is again that of a master axis.

ADS interface

Documentation of the ADS interface.


NC

Reversal of the master axis movement / reverse motion stop

The reaction of the Universal Flying Saw to reversal of the master's movement can be specified by means of two bits in the SyncMode. The GEARINSYNC_OPMASK_ROLLBACKLOCK bit activates the reverse motion stop. This will halt the slave if, following a reversal of its movement, the master moves backwards across the coupling position (the position at which the Universal Flying Saw was started). The second bit, GEARINSYNC_OPMASK_INSTANTSTOPONROLLBACK, governs dynamic aspects of how the slave comes to a halt.

Warning:

The effect of these two bits are distinct according to whether the synchronous phase was reached before the movement reversed, or whether the reversal in the movement occurred while synchronisation was still taking place.

The following summary provides a full explanation of the effect of the GEARINSYNC_OPMASK_ROLLBACKLOCK and GEARINSYNC_OPMASK_INSTANTSTOPONROLLBACK bits.

ROLL BACK LOCK | INSTANT STOP ON ROLLBACK | Synchronous phase reached? | Description
0 | 0 | yes | Case 1: The bit combination given to the left will retain synchronous coupling for all master movements once the Universal Flying Saw has achieved the synchronous phase. In the diagram shown below the master axis reverses the direction of its movement in the synchronous phase, causing it to move backwards past the coupling position. Synchronous coupling is retained here, so that the slave will also move backwards past the coupling position.
0 | 0 | no | Case 2: Before the synchronous phase is reached the master axis reverses the direction of its movement during the synchronisation phase, causing it to move backwards past the coupling position. Because the synchronous phase had not been achieved, in this case the velocity of the slave axis will be reduced to zero once the coupling position is reached, in accordance with a 5th order polynomial, and the axis will be brought to a standstill.
0 | 1 | no | Case 3: As in case 2, except that the velocity of the slave axis is reduced to zero within one tick after reaching the coupling position. Warning: Coming to a halt within one tick can trigger the following error monitoring.
0 | 1 | yes | Case 4: This behaviour is identical to case 1!
1 | 0 | no | Case 5: This behaviour is identical to case 2!
1 | 0 | yes | Case 6: The bit combination shown to the left will activate the Universal Flying Saw's reverse motion stop. In the diagram shown below the master axis reverses the direction of its movement in the synchronous phase, causing it to move backwards past the coupling position. When this reverse movement of the master axis passes back over the coupling position, the velocity of the slave axis is reduced to zero in accordance with a 5th order polynomial. Reverse movement of the slave axis is therefore prevented in that, having reached the coupling position, the slave is brought smoothly to a halt.
1 | 1 | no | Case 7: This behaviour is identical to case 3!
1 | 1 | yes | Case 8: The bit combination shown to the left will activate the Universal Flying Saw's reverse motion stop. In the diagram shown below the master axis reverses the direction of its movement in the synchronous phase, causing it to move backwards past the coupling position. When this reverse movement of the master axis passes back over the coupling position, the velocity of the slave axis is reduced to zero within one tick. Reverse movement of the slave axis is therefore prevented in that, having reached the coupling position, the slave is brought to a halt. Warning: Coming to a halt within one tick can trigger the following error monitoring.


NC

PLC function blocks

The following PLC function blocks are available for operation of the Universal Flying Saw.

Function | Block
Synchronisation to velocity | MC_GearInVelo
Synchronisation to position | MC_GearInPos
Read the characteristic values | MC_ReadFlyingSawCharacteristics
Uncouple the slave | MC_GearOut


NC

Operation from the System Manager

For commissioning purposes the Universal Flying Saw can also be started directly from the System Manager.


NC

Diagonal saw

The simplest case of the diagonal saw involves synchronisation to velocity.

In contrast to the Flying Saw, where the angle between the directions of the master and the slave movements is given, the coupling factor is given for the Universal Flying Saw. This coupling factor must be calculated in such a way that in the synchronised phase the component of the velocity of the slave axis in the direction of the master axis is the same as the master velocity. This means that the following equation is used to calculate the coupling factor:

The angle a can not, of course, be 90°, because the slave axis would not then have any component of velocity in the direction of the master axis.

Schematic diagram of a "flying diagonal saw"


NC

Error situations and error codes:

The following situations and/or parameters are not permitted, and result in errors:

  • The Universal Flying Saw cannot at present be coupled if the master velocity at the coupling time is zero but the slave velocity is not zero. A combination of zero master velocity and zero slave velocity is, however, permitted.
  • Gearing factor is zero (otherwise the gearing factor can adopt any value)
  • The maximum velocity, acceleration, deceleration or jerk are negative (reference is made here to the axis data (machine data) in the system manager, which is interpreted as a magnitude without arithmetic sign)
  • The synchronisation positions with reference to the start positions at the time of coupling for the master must always be geometrically in the future, and
    a.) must also be geometrically in the future for the slave if the coupling factor is greater than zero,
    b) must be geometrically in the past for the slave if the coupling factor is less than zero.
  • Warning:

    A motion function table is employed internally in order to implement the function of the Universal Flying Saw. This internally used table must not be occupied by other types of table function (such as by a cam plate). Otherwise the coupling will be rejected with an error code.
    The table ID of the internally used table can be calculated through the following equation:

    Example: The slave axis with axis ID 2 occupies, when coupled with the Universal Flying Saw, table ID 254.

    Because this table ID is used internally, it follows that it is no longer available for other types of function. It cannot, for instance, be used any longer for a cam plate.

Description of the error codes