Motion Control
Cyclic Position v2
Description

Cyclic Position v2

Provides the actual position from floating-point 0.0000 to 1.0000 of a repeating cycle.

The count input is freely connectable from any single Encoder or FI function block Count output in any smarty on the local network.

The actual cycle length can be entered directly as the number of pulses including fractions of a pulse or it may be determined empirically by using the Set Length parameter. Move the motor to the beginning of the cycle, and momentarily enable this parameter. Now rotate the motor to the end of the cycle, stop, and enable the parameter again. The measured number of pulses will be entered automatically into Cycle Length.

The Set Zero input predominates over Hold. The Output is zero when Active and the position increments from zero when Inactive.

Hold input causes the output to hold at its current value and ignore any ongoing counts. The output resumes from the current value when made Inactive.

Transitions of Set Length, Set Zero, or Hold should not be commanded while the count is actively incrementing. Transitions that occur while the count is actively changing will be associated with an uncertainty equal to the revs per second times the timebase setpoint of the containing device.

Example of position uncertainty from dynamic transitions -

The Cyclic Position function block is located in a speedy with the default timebase, 5ms.

The count is from an encoder spinning at 1800RPM.

Set Length is asserted momentarily by passing a prox switch.

1800RPM / 60s x 0.005s = 0.15 rev uncertainty with transitions at full speed.

Eliminate dynamic position uncertainty with other motion control function blocks having high-speed event input capability; Registration, Event Measurer, Event Timer.

The function block Status is Fault and the function block output is zero if the count input is not updated for a period longer than approximately twenty times the timebase, i.e. 100ms, by default.

Design a complete motion control solution with three function blocks. The following pictures show examples of Cyclic Position v2 function block in three different systems. The first allows an index command to choose any position along evenly divided intervals. The second allows up to 100 positions to be pre-defined and selected via an index. The third system accepts explicit position commands.

Availability
  • Available only in the dw2xx-v2 series products
  • Requires library: Precision Motion (option -39)
  • Firmware versions 0x210C and later
savvy-SFD Graphic cycPos2
Graphic with Parameters cycPos2

Parameters

Count Input, Read-only, Placeholder (special (count & timestamp))

Count

The count input is freely connectable from any single Encoder or FI function block Count output in any smarty on the local network.

Hold Input, Read-write, Boolean (signed 16-bit integer)

Hold

Hold input causes the count to hold at its current value and ignore any ongoing counts. The count resumes from the current value when made Inactive.

Typically, transitions of Hold should not occur while the count is actively incrementing. Transitions of Hold while the count is actively changing will be associated with an uncertainty equal to the counts per second times the timebase setpoint of the containing device.

Example

The Cyclic Position function block is located in a speedy with the default timebase, 5ms.

The count is from an encoder spinning at 1800RPM.

1800RPM / 60s x 0.005s = 0.15 rev uncertainty with transitions at full speed.

Other motion control function blocks with high-speed event input capability that may be useful; Registration, Event Measurer, Event Timer.


0 = Inactive
1 = Hold
Set Zero Input, Read-write, Boolean (signed 16-bit integer)

Set Zero

The Set Zero input predominates. The Output is zero when Active and the count continues from zero when Inactive.

0 = Disabled
1 = Enabled
Set Length Input, Read-write, Boolean (signed 16-bit integer)

Set Length

The cycle length can be entered directly as the number of pulses including fractions of a pulse or it may be determined empirically by using the Set Length parameter. Move the motor to the beginning of the cycle, and momentarily enable this parameter. Now rotate the motor to the end of the cycle, stop, and enable the parameter again. The measured number of pulses will be entered automatically into Cycle Length.

0 = Disabled
1 = Enabled
Output Output, Read-only, Analog (32-bit IEEE-754 floating point value)
0.0000 to 1.0000

Output

The actual position from floating-point 0.0000 to 1.0000 of a repeating cycle.

Cycle Length Internal Parameter, Read-write, Analog (32-bit IEEE-754 floating point value)
-340E36 pulses to 340E36 pulses

Cycle Length

The actual cycle length can be entered directly as the number of pulses including fractions of a pulse (encoder pulses have four edges which can be used) or it may be determined empirically by using the Set Length parameter. Move the motor to the beginning of the cycle, and momentarily enable this parameter. Now rotate the motor to the end of the cycle, stop, and enable the parameter again. The measured number of pulses will be entered automatically into Cycle Length.

Status Internal Parameter, Read-only, Boolean (signed 16-bit integer)

Status

The function block Status is Fault and the function block output is zero if the count input is not updated for a period longer than approximately twenty times the timebase, i.e. 100ms, by default.

0 = OK
1 = Fault
Internal Count Internal Parameter, Read-only, Analog (32-bit IEEE-754 floating point value)
-340E36 pulses to 340E36 pulses

Internal Count

The number of pulses counted since Set Zero input was last asserted.