Curves Overview

Cams, splines, and custom profiles for position, pressure, or force are handled by curves. The RMC creates curves by interpolating data points provided by the user or host controller. The RMC provides many options for creating and following curves to satisfy nearly any application, including curve sawing, veneer lathes, blow-molding, animation, electronic camming, cyclic testing profiles, valve linearization and more.

The RMC curves can be used for both time-based motion, where the curve defines the position of the axis at certain times, and master-based motion, where the curve defines the position of the axis based on a master, such as the position of another axis.

For time-based sinusoidal motion, use the Sine Start (72) command instead of curves.

Curves, together with the curve interpolations functions, can be used for other purposes, such as Gain Scheduling.

Curve Basics

A typical curve profile has many points which the RMC interpolates to create a smooth curve that goes through all the points. Many options are available, such as constant, linear or cubic interpolation, zero-velocity endpoints, cyclic curves, overshoot protection, and more. Curve x-values and y-values can be scaled and offset, and master or relative alignments can be selected.

Creating Curves

Curve Tool
Creating and viewing curves is easy in the graphical Curve Tool. This method is excellent for applications that require only pre-defined curves. For details, see the Curve Tool.

Curve Add Command
This method is suitable for creating curves via a host controller, such as a PLC or PC, or even via user programs. For details, see Creating Curves Using the Curve Add Command, and Example: Create Curve Using the Curve Add Command.

Managing Curves

Use the Curve Tool to manage curves whether they were created in the Curve Tool or using the Curve Add command. See the Managing Curves in the Curve Tool and Curve Tool Overview topics for more details.

How to Run a Curve Based on Time

Note: These methods refer to position. Curves apply to pressure and force as well, with the Curve Start (Prs/Frc) (87) and Curve Start Advanced (Prs/Frc) (89)commands.

 

Use this method to make your axis follow a curve based on time. That is, the x-values of the curve are time.

Start with Axis at First Position of Curve

This method requires that the axis be at the first position of the curve before starting the curve.

  1. Move the axis to the first point of the curve (Y0) and make sure it is in position in closed-loop control.

  2. Send the Curve Start (86) command. The axis will move as defined by the curve profile.

  3. For advanced features such as scaling and offsetting the curve, or choosing relative or absolute alignments use the Curve Start Advanced (88) command.

Start with Axis NOT at Starting Position

This method will start the curve even if the axis is not at the starting point.

  1. Send the Transition Rate (56) command to specify how the axis should move to get to the curve. This command will not make the axis move immediately, it simply defines how the axis should get to the curve if the axis is not at the starting point when the Curve Start command is sent.

  2. Send the Curve Start (86) command. The curve will start running, and the axis will move toward the curve as defined by the curve profile. Once it locks onto the curve, it will follow the curve profile exactly.

  3. For advanced features such as scaling and offsetting the curve, or choosing absolute or relative alignments use the Curve Start Advanced (88) command.

Run a Curve Based on a Master Position

Use this method to make your axis follow a curve based on the position of another axis. That is, the x-values of the curve are positions of the master axis.

  1. Send the Transition command to specify how the axis should move to get to the curve. This command will not make the axis move immediately, it simply defines how the axis should get to the curve if the axis is not on the curve when the Curve Start command is sent.

  2. Move your master axis and the curve axis to the desired starting positions. Neither the master axis nor the curve axis need to be at the start of the curve.

  3. Choose the Curve Start Advanced (88) command. Set the Options command parameter to 6, which indicates the following:

     

  4. Send the Curve Start Advanced (88) command. As specified by the Transition command, the curve axis will move to the correct position on the curve, which is determined by the location of the master axis. As the master axis moves in either direction, the curve axis will follow the curve profile. If the master reaches the endpoints (ax defined by the first and last x-value of the curve), it will behave as specified by the Endpoint Behavior in the Options command parameter.

Curve Capacity

In RAM

The RMC can hold up to 128 curves in it's random-access memory, which is lost when power is removed from the RMC. This curve storage capacity varies by RMC. The size required for any curve also depends on the download method, data format, and interpolation type. The following table gives approximate storage capacities for the commonly used simple cubic-interpolated curve. See the Curve Storage Capacity topic for more details.

 

Max Length for a Single Curve

Max Length for 16 Equal-length Curves

Max Length for 128 Equal-length Curves

RMC75E

209,708 points

24,665 points

3,244 points

RMC75P

RMC75S

8,186 points

783 points

95 points

RMC150E

209,708 points

24,665 points

3,244 points

RMC200 Lite

419,424 points

49,336 points

6,494 points

RMC200 Standard

1,677,715 points

197,370 points

26,002 points

In Non-Volatile Memory

The RMC can store curves in non-volatile Flash memory, which is retained even when power is removed from the RMC. Only curves downloaded from the Curve Tool or added using the Curve Add command with the Permanent life cycle option are saved to flash.

The size consumed by curves in Flash is 8 bytes per point for Constant and Linear types, and 16 bytes per point for Cubic types, plus 1 byte per character in the curve name and description, plus approximately 40 bytes of overhead.

The curves share the same Flash storage as the entire RMC project, including axis parameters, plot templates, variable table defaults, user programs, and curves. The total Flash size is as follows:

Controller

Flash Size

RMC75E (1.1G and newer)

1024 KB

RMC75E (1.1F and older)

256 KB

RMC75P

96 KB

RMC75S

96 KB

RMC150E

1024 KB

RMC200E

6016 KB

Firmware and Hardware Limitations

RMC75S and RMC75P require hardware versions 2.1D and 2.1E and newer for curves. The RMC75/150 require firmware 2.40.0 or newer, and RMCTools 3.38.0 and newer support the Curve Tool.

 

See Also

Curve Start (86) | Curve Start Advanced (88) | Curve Start (Prs/Frc) (87) | Curve Start Advanced (Prs/Frc) (89) | Transition Rate (56) | Transition Rate (Prs/Frc) (64) | Creating Curves Using the Curve Add Command | Curve Data Formats | Curve Interpolation Methods and Options | Example: Create Curve using the Curve Add Command | Curve Storage Capacity


Send comments on this topic.

Copyright © 2024 Delta Computer Systems, Inc. dba Delta Motion