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.
Move the axis to the first point of the curve (Y0) and make sure it is in position in closed-loop control.
Send the Curve Start (86) command. The axis will move as defined by the curve profile.
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.
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.
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.
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.
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.
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.
Choose the Curve Start Advanced (88) command. Set the Options command parameter to 6, which indicates the following:
Absolute Curve Alignment (+0)
Absolute Master Alignment (+2)
Endpoint Behavior Truncate (+4)
Note: You can choose other Options settings, but these are typical.
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
Copyright © 2024 Delta Computer Systems, Inc. dba Delta Motion