MLGearWriteRatSlp

Pipe Network motion icon

 Function - Sets the Ratio Slope value of a selected Gear Pipe Block.

Inputs

Input

Data Type

Range

Unit

Default

Description

BlockID

DINT

-2147483648 to 2147483647

N/A

No default

ID number of an initialized Gear Pipe Block.

Slope

LREAL

No range

1/sec

No default

New Ratio value to be assigned to the selected Gear Pipe Block.

  • Values lower then 1.0 can be entered, but require a leading 0 (zero).
  • Example: 0.8 instead of .8.

Outputs

Output

Data Type

Range

Unit

Description

Default (.Q)

BOOL

 

 

Returns TRUE if the Ratio Slope value is changed in the selected Gear Pipe Block.

See Function - General Rules.

Remarks

  • Ratio Slope sets the limit at which step changes in ratio are implemented.
  • The GEAR block output adds a position offset to the GEAR block input when using a RatioSlope.
  • See RatioSlope Offset for examples.

  • Set the RatioSlope < (Ratio * EtherCAT Update Rate).
    The Gear block makes a jump (without a ramp) from one gear to the next when the RatioSlope is greater than the Ratio change factor multiplied by the update rate scale factor.

RatioSlope Offset

With Offset

  • If MLGearWriteRatSlp is set as to generate a ramp (instead of a step) when going from a gear ratio of 1 to 2, there is a position offset when the gear ratio settles as 2.
  • In this image:
    • The ratio goes from 1.0 to 2.0.
    • Green is PN Gear Block Output.
    • Red is Gearbox Input.

  1. Green line: PN Gear Block Output.
  2. Red line: PN Gearbox Input.
  3. When the ratio changes.
  4. Phase difference.

Without Offset

If MLGearWriteRatSlp is set without a ramp, , there is no offset.

  1. Green line: PN Gear Block Output.
  2. Red line: PN Gearbox Input.
  3. When the ratio changes.
  4. Synched.

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

//Set the Ratio Slope value of Gear1 Pipe Block to 100
MLGearWriteRatSlp(PipeNetwork.GEAR1, 100.0);

See Also