Pipe Block Descriptions


  • Click a Pipe Block icon to view its description.

Virtual master generating values (position) at each cycle Master

Purpose

In contrast to the independent axes approach, synchronizedClosed Combines an axis or axes group (as slave) with an axis as master. The slave executes its path with synchronization to the progress of the master. This is linked to a one dimension source for synchronization. axes must have something to put them in synchronization.

The TMP Generator provides linear accelerationClosed A change in velocity over time. Because velocity is a vector, it can change in two ways: a change in magnitude and/or a change in direction. In one dimension, acceleration is the rate at which something speeds up or slows down. However, more generally, acceleration is a vector quantity expressing the change with time of the velocity both in magnitude and in direction. See these Wikipedia articles for more information: http://en.wikipedia.org/wiki/Velocity http://en.wikipedia.org/wiki/Euclidean_vector http://en.wikipedia.org/wiki/Rate_(mathematics) and deceleration, and also constant speed operation.

Parameters

Parameter

Description

Sampling PeriodClosed Motor systems having a reciprocating or oscillating motor that operates synchronously with the periodicity of the source which supplies the electrical energy. The period of execution of a pipe is the time spent between two successive computations of set values for the same pipe. The period of execution of a pipe is specified by the PERIOD parameter of the input pipe block.

Sampling period of the generator expressed according to the cycle.

Example: 2.0 means the sampling is done once every 2 cycles.

Mode

The available modes are Modulo and No Modulo.

Modulo PositionClosed Position means a point in space which is described by different coordinates. Depending on the used system and transformation it can consist of a maximum of six dimensions (coordinates).This means three Cartesian coordinates in space and coordinates for the orientation. In ACS there can be even more than six coordinates. If the same position is described in different coordinate systems the values of the coordinates are different.

Modulo Position for cyclic motion systems expressed in user logical units.

Travel Speed

Travel speed value expressed in user position units per second.

The travel speed value is used to set the constant speed part of the trapezoidal motion profile.

Acceleration

Acceleration value expressed in user position units per second squared.

The acceleration value is always used to generate the first part of the trapezoidal motion profile.

Deceleration

Deceleration value expressed in user position units per second squared.

The deceleration value is always used to generate the last part of the trapezoidal motion profile.

Initial Position

Initial position value expressed in user position units.

Used only at the pipe activation to initialize the position starting point.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

See PMP to access the motion functionsClosed A function calculates a result according to the current value of its inputs. A function has no internal data and is not linked to declared instances. associated to this pipe block.

Produces jerk limited motion PMP

Purpose

PMP (Parabolic Motion Profile) pipe block generates a flow of values with a second derivative (acceleration) which produces a trapezoidal trajectoryClosed Time dependent description of the path the TCP of an axes group moves along. Additional to the geometrical description of the space curve, time dependent state variables like velocity, acceleration, jerk, forces etc. are specified..

Uses

The PMP Generator is utilized as a virtual master to generate a simple point-to-point profile in machinery where large masses are being rotated or delicate webs (used in industry) are being processed.

It is used in any application where jerk must be limited.

The PMP Generator is capable of producing forward-backward motions with a non-stop, jerk-free transition through zero speed.

  • See the image.
  • This feature is frequently used for linear axes which must make a quick back-and-forth motion without any pause at one end.

Figure 5: PMP Generator Forward and Backward Motion Profile

Parameters

Parameter

Description

Sampling Period

Sampling period of the generator expressed in seconds.

Modulo Position

Modulo Position for cyclic motion systems expressed in user logical units.

First Travel Speed

Last Travel Speed

Travel speed values expressed in user position units per second.

The travel speed values are always used to set the constant speed part of the motion profile.

Acceleration

Acceleration value expressed in user position units per second squared.

The acceleration value (subject to constraints imposed by the JERK parameter) is always used to generate the portions of the motion profile where velocityClosed For a group of axes this means: In ACS the velocities of the different axes. In MCS and PCS it provides the velocity of the TCP is changing.

Jerk

Jerk value expressed in user position units per second cubed.

Initial Position

Initial position value expressed in user position units, used only at the pipe activation to initialize the position starting point.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

See PMP to access the motion functions associated to this pipe block.

Go back to the top of the page[Top]

The connection between an external master and a Pipe NetworkSampler

Purpose

The purpose of the sampler block is to periodically sample and place into a pipe some output of a source object.

Example: The sampled output might be the POSITION or SPEED of the source object measured by a resolver, an encoderClosed Generates an output signal directly proportional to the movement of the motor shaft. This signal is fed into the control circuitry to control the shaft position and speed. The most common types are: Incremental/Serial encoders, Hall effect sensors, Resolvers, Tachometer Generators See: Optical encoders., or some other types of sensorClosed A type of transducer that converts one type of energy into another for various purposes including measurement or information transfer..

The sampler implements a logical connection between an external master (source object outside the KASClosed Kollmorgen Automation Suite system) and one or more pipes. This is for slaving the motion of the KAS system to the external master by placing the sampled values into the pipes.

Sampler

Figure 10: Sampler

Parameters

Parameter Description
Sampling Period

Period of the sampler expressed in seconds

Sampler Period

Figure 11: Sampler Period

Mode

The available modes are Position and Speed

Sampler Mode Position

Figure 12: Sampler Mode Position

Sampler Mode Speed

Figure 13: Sampler Mode Speed

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

See PMP to access the motion functions associated to this pipe block.

Go back to the top of the page[Top]

Applies a derivation on the input data flow Derivator

Purpose

The Derivator is a general pipe block whose purpose is to calculate the first derivative of its input values with respect to time.

  • It is usually used to change incoming position into velocity.
  • It often works together with the GEAR block as gearing in velocity to avoid jumps when suddenly changing the position.

Derivator - 'No Modulo' Mode

Figure 15: Derivator - "No Modulo" Mode

Derivator - Modulo Mode

Figure 16: Derivator - Modulo Mode

Parameters

Parameter Description
Input Modulo Position

Value of the period of a cyclic system expressed in user units.
The parameter "INPUT_MODULO_POSITION" is defined to correctly manage the periodicity (modulo) of the input values.

Example: If the input value increases each millisecond by one (degree) then the output value is a thousand (degrees per second). Imagine the input value skips suddenly from 359 to 0:

  • If VALUE PERIOD = 360, the output continues to indicate 1000 (degrees per second), indicating that roll-over into the next period has been properly handled.
  • If VALUE PERIOD = 1000, the output indicates -359,000 (degrees per second), indicating that the input has incorrectly interpreted roll-over as a 359 degree change in input in one millisecond.

Initial Behavior

The first calculation of a Derivator pipe block just after the pipe installation indicates zero regardless of the initial input value.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Go back to the top of the page[Top]

Integrates the input data flow Integrator

Purpose

Integrates the input data flow.

Usually used to change velocity to position and the output is the starting point from where the integration starts.

Integrator - 'No Modulo' Mode

Figure 17: Integrator - "No Modulo" Mode

Integrator - Modulo Mode

Figure 18: Integrator - Modulo Mode

Parameters

Parameter Description
Mode The available modes are Modulo and "No Modulo"
Output Modulo Position

When mode is set to Modulo, integrate the input values with respect to time.

"OUTPUT_MODULO_POSITION" is defined to correctly manage the periodicity (modulo) of the output values.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Go back to the top of the page[Top]

Adds two data flowsAdder

Purpose

Adds two data flows (the output is the algebraic sum of the two inputs).

Before being added, input values may be amplified and shifted (multiplication factor and offset are individually defined for each input).

Parameters

Parameter

Description

Ratio

Multipliers for the input data flows.

Offset

Offset values for the input data flows.

Output = (Ratio_1 * Input_1 + Offset_1) + (Ratio_2 * Input_2 + Offset_2)

Rules

Rule 1 and Rule 2 apply to the Adder pipe block.

Rule 1

The pipe blocks connected to the Adder inputs (e.g., a Cam and a Gear) must have the same output modulo positions.

 

Rule 2

The modulo position of the pipe blocks connected to the Adder inputs must have the same value (or a multiple) as the modulo position of the pipe block connected to the output of the Adder.

Associated Data

  • OutputValue: output value of the data flows.
  • Entry1: input value 1.
  • Entry2: input value 2.

Motion Functions

To access the motion functions associated to this pipe block, see Adder.

When a slave axis must be de- and re-synchronized with a master axis Synchronizer

Purpose

The Synchronizer provides the capability to de-synchronize and re-synchronize an axis to an internal or external master like a mechanical clutch / brake.

  • It is used where a slave axis must be stopped and, when restarted, achieve perfect, jerk-free re-synchronization with the master.
  • The ramping distance (increment of slave axis motion within which ramp up or ramp down occurs) and the slave axis resting position are adjustable.

Parameters

Parameter Description
Modulo Position

Value of the period of a cyclic system expressed in user units.

The parameter is defined to correctly manage the periodicity (modulo) of the input values.

Curve Type When synchronizing, specifies which type of curve (parabolic or polynomial) has to be implemented for merging with the master.
Output Phasing Set the output phasing value (position reached once the axis is stopped) of the synchronizer block.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Go back to the top of the page[Top]

Suspend the computation of the pipe during several cyclesDelay

Purpose

Delay the data flow a number of cycles.

Parameters

Parameter Description
Cycle Delay Number of cycles for postponement

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

See click here... to access the motion functions associated to this pipe block.

Synchronize operation of inputs and outputs to motion Comparator

Purpose

A Comparator monitors the flow of pipe data and causes a specified action when the flow of values at its input crosses a specified reference value.

Parameters

Parameter Description
Modulo Position

Value of the period of a cyclic system expressed in user units.

The parameter "MODULO_POSITION" is defined to correctly manage the periodicity (modulo) of the input values.

Reference The Comparator checks if the input value of the Comparator is greater or equal to this reference value.
Through Zero

Through zero reference mode can be set or not:

  • YES: Used to properly detect a periodic threshold crossing of motions on periodic axis where the flow values are always greater than or equal to zero but lower than the Modulo Position.
    • In this mode, the flow values must first cross one period limit and then, as soon as a value is greater than or equal to the reference, the ready flag becomes true.
  • NO: Applies mainly to bounded motions.
    • The Comparator's ready flag is false as long as the flow value is less than the reference and becomes true as soon as the flow value is greater than or equal to the reference.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Go back to the top of the page[Top]

Computes the local pipe value from the timestamp of a Fast Input event Trigger

Purpose

Computes the local pipe value from the timestampClosed A sequence of characters, denoting the date and/or time at which a certain event occurred. of a Fast Input time event.

  • Pipe input values are passed through to the block output with no influence on the flow of pipe values.
  • Typical application is for PLCopen Registration.

Trigger Extrapolates Output Value Based on Fast Input Timestamp

Figure 21: Trigger Extrapolates Output Value Based on Fast Input Timestamp


  • There are network and mechanical delays in systems that make capturing a correct pipe position difficult. To remove the delays, use a sampler block to capture the actual position of an axis. This image shows how this works:

    This sampler block is configured to capture the actual position of axis 1. The conversion and axis blocks are only needed to terminate the pipe. MLTrigWriteDelay may still be needed to compensate for sensor delay.
    If you need to calculate the master pipe value corresponding to the captured axis position, add the difference between the axis command position and the master pipe value.

Parameters

Parameter Description
Input Axis Name of the axis where the drive has a Fast InputClosed The inputs are taken into account at each cycle depending on the system periodicity (i.e., each millisecond). Under certain circumstances, this can be insufficient when more accuracy is needed or if a quick response is required from the system. To fill the gap, a drive may have some Fast Input connections (generally one or two). When an event happens that triggers a Fast Input (e.g., when a sensor sends a rising edge), the detection of a signal occurs faster. This can be 1000 times more accurate than the system periodicity. The timestamp associated with this input can be provided to the IPC to take corrective action. connection.
Input ID Identifier of the input object.
Trigger Mode Mode can be either RISING or FALLING EDGE

Associated Data

  • OutputValue: output value of the data flows.
  • TRIG_POS: interpolated position calculated when the time event was triggered (reserved for debugging purposes).
  • TRIG_TIME: time when the event was triggered (reserved for debugging purposes).
  • DELTA_TRIG_TIME: reserved for debugging purposes.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

See Fast Inputs with Pipe Network Motion for more details.

Go back to the top of the page[Top]

Applies a gearing ratio on the input data flowGear

Purpose

The purpose of the Gear block is to amplify / attenuate (with a ratio) and shift (with an offset) the flow of values.

  • A Gear may have a ratio and offset less or greater than one, or even zero.
  • Ratio and offset may be changed dynamically during application execution.
  • A slope may be specified to limit the rate at which step changes in ratio and offset are implemented.

Parameters

Parameter Description
Ratio Ratio coefficient
Offset The input offset value.
Ratio and Offset Slope

Sets the maximum rate of change at the pipe block output resulting from changes in RATIO or OFFSET parameters.

  • When set to the MAX (which is the default setting), the slope is infinite.
  • Units are user units per second for OFFSET SLOPE and 1/second for RATIO SLOPE
Modulo

When set to TRUE, adapts the output values according to the periodicity (modulo).

Output = Ratio * Input + Offset

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.
  • INPOS: reserved for debugging purposes.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Go back to the top of the page[Top]

Produce user-defined motion profiles Cam

Purpose

The Cam block is used to generate motion profiles of any shape. The profile generally represents the position transformation.

Declarations

Separating the declaration of the Cam and profile parameters for the Cam pipe block provides the capability to declare and prepare several different cam profilesClosed The position of a slave axis is mathematically linked to the position of a master axis. Example: A system where two rotating drums turn at a given ratio to each other. A more advanced case of electronic gearing is electronic camming. With electronic camming, a slave axis follows a profile that is a function of the master position. This profile need not be linear but it must be a mathematical function. and then apply one of these dynamically to the Cam pipe block.

Profile switching may be done on the fly, without losing the synchronization and with no dead time.

In addition, the periodicity of the cam output values can be specified when used with a periodic system.

Parameters

Parameter Description
Profile Name

Name of the current profile assigned to the cam.

It must be a declared profile object.

Output Modulo Position Value of the period of the cam output values expressed in user units, for a cyclic system.

Shape Specification

The shape of the cam profile must be processed by the Cam Profile Editor utility before it is usable by the Pipe Network Editor.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Go back to the top of the page[Top]

For independent phase adjustmentPhaser

Purpose

A Phaser produces a flow of output values which are offset (phase shiftedClosed Compensation for the lag between the electromagnetic and magnetic fields in the motor.) a specified amount from its input. A typical application of a Phaser is to provide independent phase adjustment capability on an axis.

The Phaser has some similarities with the Gear pipe block, however its intended use is quite different.

  • The typical application for a Phaser pipe block is to drive a periodic system: a machine where the axes are globally increasing (or decreasing) their position.
  • The Gear pipe block, with OFFSET and RATIO parameters, is intended for bounded applications (applications where the integral of speed on a complete cycle is zero).
    • Using the wrong one at the wrong place will cause unnecessary complications.
    • In addition, you must always consider the position as the input value (and not the speed).

Parameters

Parameter

Description

Output Modulo Position

Defined to correctly manage the periodicity (modulo) of the output values.

Expressed in User units.

Phase

Magnitude of the number added to the input value.

  • Phase value can be negative.
    • A negative phase value is subtracted from the input value.
  • Phase is expressed in user logical units.

Phase Slope Type

Choose between these modes to define the slope:

  • Phase_Slope_Max: A phase change is fully implemented in a single step.
  • Phase_Slope_User: Select this mode to specify the phase slope.

Phase Slope

Rate at which phase changes are implemented, expressed in user logical units per second.

A slow rate parameter is provided to limit the implementation of step changes of phase.

Standby Value

Value assumed by the phaser output when the phaser is in "stopped" condition.

Expressed in user logical units.

Associated Data

  • OutputValue: output value of the data flows.
  • IsReady: Boolean set to TRUE when the pipe block is ready.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Converts input data flow into a position and forwards it to an axis Convertor

Purpose

The convertor block is necessary to define the connection between a pipe and a destination object.

  • Depending on convertor mode, the incoming numerical values are converted to POSITION or SPEED setpoints with no periodicity.
    • This conversion has no effect on the axis units and their periodicity.
  • This block must be present at the end of a pipe, typically right before an axis block.

Convertor - Position Mode 'No Modulo'

Figure 24: Convertor - Position Mode "No Modulo"

The Output position values are identical to input values when inputs in position mode (by range).

Convertor - Position Mode (Modulo)

Figure 25: Convertor - Position Mode (Modulo)

Convertor - Speed Mode

Figure 26: Convertor - Speed Mode

Parameters

Parameter Description
Mode

The available modes are:

  • POSITION: The values drive the position of the motor.
    • At pipe activation, the current (axis) position is set to the first value given by the pipe by moving the motor.
    • Speed and acceleration are derivatives of position.
    • The torque is set according to the regulator needs.
    • Units are the axis physical units.
  • SPEED: The values drive the speed of the motor.
    • At pipe activation, the current position is not affected.
    • Position is the integral of speed and acceleration is the derivative of speed.
    • The torque is set according to the regulator needs.
    • Units are the axis physical units per second.

Associated Data

  • OutputValue: output value of the data flows.
  • IslinkedToAxis: Boolean set to TRUE when the Convertor pipe block is linked to an axis block.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Go back to the top of the page[Top]

Models a physical axisAxis

Purpose

Parameters

Parameter Description
Position Unit

This field sets the units (see UNIT Parameters ) used by the drive axis.

When the axis is defined as an AKD2G, the units and value are synchronized with the drive.

User Units Per Revolution

To divide the current axis into graduations adapted to your project, you must define the unit that is equivalent to one revolution of the physical motor (e.g., 3600 means that you define the user unit to be tenth of a degree).

You can rely on expressions to define values.

Unit Label

Specify the type of units being used.

This is used for display purposes.

Travel Speed

Travel speed value expressed in user length units per second.

The travel speed value is used to set the constant speed part of the trapezoidal motion profile.

Acceleration

Acceleration value expressed in user length units per second squared.

The acceleration value is always used to generate the first part of the trapezoidal motion profile.

Deceleration

Deceleration value expressed in user length units per second squared.

The deceleration value is always used to generate the last part of the trapezoidal motion profile.

Mode

The available modes are Modulo and "No Modulo".

Rollover Position Modulo Position for cyclic motion systems expressed in user logical units.
Motion Bus

Select in the drop-down menu the type of motion bus associated to the axis.

This is only available when using an imported ENI file.

Address

Specify the address number depending on the motion bus.

This is only available when using an imported ENI file.

Drive Axis Number

This is only available when using an imported ENI file.

Drive Units per Revolution

Number of units associated to the Drive for one revolution of the physical motor.

This is only available when using an imported ENI file.

Associated Data on Positions

This data are illustrated here:


  • All positions are in user units with modulo applied if active, unless specified.

Position / Offset Description

Actual Position

This is the actual position of the underlying axis as reported by the drive.

ActualPos := FeedbackPos + ZeroOffset

Feedback Position

This is the current position the drive reports for an axis, scaled to user units.

It does not take into account the value of the Zero Offset or axis modulo.

Generator Position

This is the summation of all previous commands (i.e., calls to functions which perform motion) to the Axis internal motion generator.

See either such as MLAxisAbs, MLAxisMoveVel, or MLAxisRel.

  • It is modified by MLAxisWritePos to insure no jumps in the Reference Position command.
  • It accumulates changes in pipe position due to activate and deactivation of the pipe the Axis block is associated with.

Pipe Position

This is the output of the convertor block is written into the Pipe Position value whenever the Convertor block is connected to the axis and the pipe is active.

See Convertor.

Reference Position

This is the commanded axis position sent to the drive.

It is the summation of Pipe Position and Generator Position.

ReferencePosition = Pipe Position + Generator Position

Zero Offset

This adjusts the coordinate systemClosed The reference system in which a coordinate or path is described. so the Actual Position reports correct values after homingClosed The homing procedure allows, based on a position measurement, to set a position offset to the motor to ensure it is physically at the home position. or using MLAxisWritePos.

Motion Functions

To access the motion functions associated to this pipe block, see click here....

Go back to the top of the page[Top]

Concept Link IconSee Also