AXIS_CIP_DRIVE Diagrams
The following are servo loop topologies for the various application types.
Command Generator
Command data that affects axis motion can come from a variety of sources. The most common command data source is from a controller-based motion planner via the CIP Motion C-to-D Connection. In this context, command data can take the form of Controller Position, Velocity, Acceleration, and Torque Commands generated by the motion planner. The command data elements provided are specified by the Command Data Set attribute, which is based on the selected Control Mode. The primary command data element can be augmented by higher order command elements for the purposes of generating high quality feed-forward signals. Alternatively, these higher order command elements can be derived by the device from the primary command data. In either case, a Fine Command Interpolator is generally applied to the Command Data to generate command reference signals to the devices’ control structure at the devices’ update rate.
Another source of command data is a local motion planner resident within the device. The Motion Device Axis Object defines a set of features associated with a device based motion planner. These features include support for electronic gearing, camming, moves, and jogs. Through use of the CIP Motion peer-to-peer connection, the gearing and camming functions can be directly linked to a master axis command reference from a producing peer device for high performance line-shafting applications. Alternatively, the master axis command reference can be derived from a local motion axis instance. To facilitate these features, the motion planner also supports the ability to establish an absolute position reference to the machine through homing and redefine position operations as well as perform rotary unwind functionality. The device’s motion planner is controlled by CIP service requests.
You can directly set Command Data, such as the Controller Velocity Command. In this context, the device applies its own Ramp Generator function to smoothly accelerate or decelerate the motor to the commanded velocity.
Both the Fine Command Interpolator and the Ramp Generator are functions of the Command Generator blocks shown in the functional block diagrams below.
Fine Command Interpolator
Ramp Generator
Feedback Channels
Feedback signals defined by the Motion Device Axis Object can be derived from any of 4 different feedback interface channels. The two primary feedback channels employed by the various closed loop control modes are designated Feedback 1 and Feedback 2. This allows the control loops to operate with either a motor based feedback device that is typically attached to the Feedback 1 channel or a load-side feedback device that is connected to the Feedback 2 channel. Which feedback source is used by the loop is governed by the Feedback Mode attribute.
Each feedback interface is capable of supporting a number of different feedback device types as enumerated by the Feedback Type attribute. The feedback interface output is the number of feedback counts that the feedback device has moved since the last time the device was sampled. If the feedback device is an absolute device, the feedback interface also determines the absolute position of the feedback device at power-up and communicates that value to the Feedback Accumulator to preset the accumulator.
Feedback Channel 1 and 2
Redundant Feedback Selection
Using the output of the Scaled Accumulator and the scaled Velocity Feedback and Acceleration Feedback signals, it is possible to interchange feedback signals during device operation without disrupting closed loop control. Using this feature, a secondary feedback channel can be used as a redundant feedback channel for any of the two primary feedback channels used for control. Feedback 3 is the designated redundant feedback channel for Feedback 1 and Feedback 4 is the redundant feedback channel for Feedback 2. The device can automatically switch over to the redundant feedback channel based on: 1) Loss of the primary feedback channel when Feedback n Loss Action is set to Switch to Redundant Feedback, or 2) The controller explicitly switching to the redundant channels by setting the Redundant Feedback n Enable bit of the cyclic Feedback Mode data element.
Switching between the primary feedback channel and the redundant feedback sources is managed by the Feedback Selector block shown in the following diagram.
Event Capture Functionality
Event Input Sources
The Motion Device Axis Object defines a mechanism to capture both the feedback position and time stamp associated with specific state transitions of selected event input sources. Event input sources currently supported by the object are Registration 1, Registration 2, Marker, and Home Switch. These 4 event input sources apply to each supported feedback channel.
Event Latches
To facilitate accurate capture of both feedback position and time, hardware event latches are typically implemented as shown in the following block diagram. Note that two independent latches are defined for each registration input, one latch to capture positive edge transition events and one to capture negative edge transition events. This design enables capture of both registration events in applications with narrow registration pulses where the rising and falling edges occur nearly simultaneously. In addition to the registration latches, a separate latch is also defined for the home event capture. The home input event that triggers the Home Event Latch can be any of a number of different combinations of home switch and marker input events, that is, marker transitions, switch transitions, or switch transitions followed by a marker transition.
With hardware based event latches, event capture accuracy is, in general, only limited by the latency of the associated event input. Registration and Marker event inputs are lightly filtered so event capture accuracy is on the order of 1 µsec. In terms of position capture accuracy, that would be calculated as the product of the event capture accuracy and the speed of the axis. Home switch inputs are heavily filtered, in general, and therefore limited to an event capture accuracy of 1 to 10 msec. Thus, to get an accurate position capture based on a home switch input transition, a homing sequence with a slow homing speed is required.
Control Modes
The instance attributes defined in Motion Device Axis Object affect device behavior in the context of the Control Mode, Control Method, and Feedback Mode. There are basically four Control Modes common to devices: position control, velocity control, torque control, and no control. To this list we add a new control mode: acceleration control, to complete the progression from velocity control to torque control. This section provides a block diagram for each of the control modes in an effort to further define the collective behavior of the various Motion Device Axis Object attributes.
No Control (Feedback Only)
A Motion Device Axis Object instance can be configured for No Control mode to allow for the position, velocity, and acceleration of any one of four possible feedback channels to be accessed by the controller via the Device-to-Controller Connection. These signals can then be distributed across the motion control system as a master axis for gearing and camming operations. In this mode, the Feedback Mode attribute determines which feedback channel produces the Position, Velocity, and Acceleration Feedback signals.
Position Control
In Position Control mode, the only operative Control Method supported by the object currently is Closed Loop servo control.
Closed Loop Position Control
When performing closed loop position control, the device applies the Position Command signal output of the Command Generator to the position loop summing junction. In addition to the Position Command, a Position Trim input is provided that can be used to provide an offset to the position loop. The classic PI control loop generates a Position Loop Output signal to an inner velocity loop.
Position Feedback Selection
Feedback to the PI regulator can be derived from two different feedback channels. This flexibility allows the position loop to operate with either a motor based feedback device that is typically attached to the Feedback 1 channel or a load-side feedback device that is connected to the Feedback 2 channel. Which feedback source is used by the loop is governed by the Feedback Mode attribute.
When the Feedback Mode calls for Dual Feedback operation, the position loop utilizes the Feedback 2 channel and the velocity loop uses the Feedback 1 channel. Since the two feedback channels may not have the same feedback resolution, it is necessary to convert position loop output from Feedback 1 units to Feedback 2 units prior to applying the output to the velocity loop summing junction. This is done by scaling the position loop output via the Unit Scaling block using the Feedback Unit Ratio.
Position PI Gains
The Proportional Gain of the classic PI controller sets the unity gain bandwidth of the position loop in radians/sec, while the Integral Gain is used to device the Position Error signal to zero to compensate for the effect of any static and quasi-static torque or forces applied to the load.
Velocity Feedforward
The inner velocity loop requires a non-zero command input to generate steady-state axis motor velocity. To provide the non-zero output from the device to the motor, a non-zero position loop output is required, which translates to a non-zero position error. This dynamic error between command position and actual position while moving is often called following error. Most closed loop motion control applications desire zero following error -- all the time! This could be achieved to some extent through use of the position integral gain control as described above, but typically the response time of the integrator action is too slow to be effective in high-performance motion control applications. An alternative approach that has superior dynamic response iso use Velocity Feedforward.
The Velocity Feedforward feature is used in Position Control mode to provide the bulk of the Velocity Reference input necessary to generate the desired motor velocity. It does this by scaling the Velocity Feed-forward Command signal output of the Command Generator by the Velocity Feedforward Gain and adding to the Position Loop Output generated by the position loop to form the Velocity Reference signal. With this feature, the position loop does not need to generate much effort to produce the required velocity command level, hence the Position Error value is significantly reduced. The Velocity Feedforward Gain allows the following error of the position control loop to be reduced to nearly zero when running at a constant velocity. This is important in applications such as electronic gearing and synchronization applications where it is necessary that the actual axis position not significantly lag behind the commanded position at any time.
The optimal value for Velocity Feedforward Gain is 100% theoretically. In reality, however, the value may need to be tweaked to accommodate velocity loops with finite loop gain. One thing that may force a smaller Velocity Feedforward value is that increasing amounts of feedforward tends to exacerbate axis overshoot. For this reason feedforward is not recommended for point-to-point positioning applications.
Velocity Control
In Velocity Control mode, there are two operative control methods supported by the object, Closed Loop velocity control and open loop Frequency control.
Closed Loop Velocity Control
The Closed Loop velocity control method is targeted for applications that require tight speed regulation. Note that the command input to the velocity loop can be derived directly from the Velocity Command of the Command Generator when configured for Velocity Control Mode or from the Position Loop Output when configured for Position Control Mode as described in the previous section.
When serving as an outer velocity loop in Velocity Control Mode, the device applies the Velocity Command input to the velocity command summing junction to generate the Velocity Reference signal into a classic PI regulator. Also contributing to the velocity command summing junction is the Velocity Trim input, which can be used in conjunction with an outer control loop to make minor adjustments to the velocity of the motor.
When serving as an inner velocity loop in Position Control Mode, the device applies the Position Loop Output signal to the input of the velocity command summing junction. Input signals that are not applicable to the configured control mode are generally set to zero.
Velocity Limiter
The output of the velocity command summing junction signal passes through a classic limiter block to produce the Velocity Reference signal into the velocity loop. The Velocity Limiter block applies a directional velocity limit, either Velocity Limit - Pos and Velocity Limit - Neg, to the velocity command signal input that is based on the sign.
Velocity Feedback Selection
Feedback to the PI regulator can be derived from either of the two available feedback transducers, Feedback 1 or Feedback 2. Which feedback source is used by the loop is governed by the Feedback Mode enumeration.
Velocity Error Filter
A low pass filter can be optionally applied to the velocity error signal generated by velocity loop summing junction. The output of this filter becomes the Velocity Error signal that is subsequently operated on by the velocity loop PI control algorithm. When used, the filter is typically set between 5 to 10 times the velocity loop bandwidth. It is recommended that this filter be a two pole IIR filter to maximum its effectiveness at quantization noise filtering.
Velocity PI Gains
The velocity loop generates a Velocity Loop Output signal to the next inner loop via a classic PI control loop structure. The Proportional Gain of the controller sets the unity gain bandwidth of the velocity loop in radians/sec, while the Integral Gain is used to drive the Velocity Error signal to zero to compensate for any static and quasi-static torque or forces applied to the load. The integrator path includes a Proportional Gain so that units of the Integral Gain represent the bandwidth of the integrator in radians/sec.
The integral section of the velocity regulator includes an anti-windup feature. The anti-windup feature automatically holds the regulator’s integral term when a limit condition is reached in the forward path. The anti-windup feature is conditioned by the arithmetic sign of the integrator’s input. The integrator is held when the input’s sign is such that the integrator output moves further into the active limit. In other words, the integrator is allowed to operate (not held) when the input would tend to bring the integrator output value off the active limit.
The integrator may also be configured for integrator hold operation. When the Integrator Hold attribute is set true, the regulator holds the integrator from accumulating while the axis is being commanded to move. This behavior is helpful in point-to-point positioning applications.
An automatic preset feature of the velocity regulator’s integral term occurs when a transition is made from a torque control mode to speed control, using the Control Mode selection parameter. Upon transition to speed mode, the speed regulator’s integral term is preset to the motor torque reference parameter. If the speed error is small, this provides a bumpless transition from the last torque reference value present just prior to entering speed mode.
Negative Feedforward
Aside from the normal PI control elements, a negative feedforward gain (Knff) is provided to adjust the time response of the velocity regulator. Knff has a range of 0 to 100%, where zero disables the function. A value of 30% results in little noticeable overshoot in the speed response to a step input. This can be easily observed when the motor speed is ramped to zero. The effect of negative feedforward is to eliminate backup of the motor shaft. The Knff gain setting has no effect on the stability of the speed regulator. A disadvantage of using negative feedforward is that it results in a time lag in feedback response to a reference ramp input.
Velocity Droop
Another feature of the velocity regulator is the velocity droop function. The velocity error input to the integral term is reduced by a fraction of the velocity regulator’s output, as controlled by the droop gain setting, Kdr. As torque loading on the motor increases, actual motor speed is reduced in proportion to the droop gain. This is helpful when some level of compliance is required due to rigid mechanical coupling between two motors.
Acceleration Feedforward
The velocity loop requires a non-zero velocity loop output to generate steady-state axis motor acceleration. To provide the non-zero output from the drive to the motor, a non-zero velocity error is generally required. In position control applications, this non-zero velocity error translates to a non-zero position loop error. Because many closed loop motion control applications require near zero control loop error, this behavior is not desirable. Again, the position and velocity loop error could be reduced by applying the velocity integral gain control as described above, but the integrator action is still too slow to be very effective. The preferred approach with superior dynamic response is to use Acceleration Feedforward.
The Acceleration Feedforward Gain attribute is used to generate the output necessary to generate the commanded acceleration. It does this by scaling the Acceleration Feedforward Command generated by the Command Generator by the Acceleration Feedforward Gain and adding it as an offset to the output of the velocity loop. With this feature, the velocity loop does not need to generate much control effort, thus reducing the amount of control loop error.
The optimal value for Acceleration Feedforward is 100% theoretically. In reality, however, the value may need to be tweaked to accommodate variations in load inertia and the torque constant of the motor. Like Velocity Feedforward, Acceleration Feedforward can result in overshoot behavior and therefore should not be used in point-to-point positioning applications.
When used in conjunction with the Velocity Feedforward, the Acceleration Feedforward allows the following error of the position or velocity control loop to be reduced to nearly zero during the acceleration and deceleration phases of motion. This is important in tracking applications that use electronic gearing and camming operations to precisely synchronize a slave axis to the movements of a master axis.
Open Loop Frequency Control
Another Velocity Control method is the open loop Frequency Control method associated with so called Volts/Hertz or Variable Frequency Drives (VFDs) that do not have a current control loop and typically drive an induction motor. Velocity control with this method is achieved by controlling the voltage and frequency output of the drive device in some manor where voltage is generally proportional to frequency. For an induction motor, the velocity of the motor is determined by the Output Frequency of the drive device divided by the Motor Pole count. This control method is applicable to velocity control applications that do not require tight speed regulation and therefore do not require a feedback device. The following block diagram illustrates further defines this open loop velocity control method.
Basic Volts/Hertz Operation
The Motion Device Axis Object provides a number attributes that are used to specify the relationship the drive device uses between output frequency (speed) and output voltage for a given (induction) motor. The Break Frequency and Break Voltage attributes define the point on the Volts/Hertz curve below which the Start Boost feature is applied. As the name indicates, Start Boost is used to provide a non-zero output voltage to the motor at stand-still to assist start-up. The contribution of the Start Boost to the output voltage of the drive device tapers off to zero when the motor reaches the Break Frequency. Above the break point, output voltage and output frequency follow a linear slope to the point defined by the Motor Rated Frequency and Motor Rated Voltage. From this point on, the Volts/Hertz curve follows another linear slope to the point defined by the Max Frequency and Max Voltage attributes. This segment of the Volts/Hertz curve allows for operation above the rated frequency and voltage of the motor in applications where that is required.
Sensorless Vector Operation
Sensorless Vector is an alternative Velocity Control Method that does not require configuration of a Volts/Hertz curve. Instead, by knowing the Stator Resistance and Leakage Inductance of the motor, the drive device can calculate the appropriate Output Voltage required for a given Output Frequency. This method provides better low speed velocity control behavior than using the Basic Volts/Hertz method.
Slip Compensation
When driving an induction motor at a specific frequency, the actual motor velocity is generally less than the command speed, given by the output frequency divided by the motor pole count, by an amount that is proportional to the load torque applied to the motor. This difference in speed is called Slip and is a configuration attribute associated with the motor. The Motion Device Axis Object supports a Slip Compensation feature that is common to Variable Frequency Drives. The amount of Slip Compensation applied to the Velocity Reference is the product of the measured torque producing current, Iq, and the configured Induction Motor Rated Slip Speed.
Velocity Droop
Another feature defined for the Frequency Control method is the droop function. The droop function reduces the velocity reference by a scaled fraction of the torque producing current, Iq, as controlled by the droop gain setting, Kdr. As torque loading on the motor is increased, actual motor speed is reduced in proportion to the droop gain. This is helpful when some level of compliance is required when performing torque sharing between two motors on a common load.
Acceleration Control
(ODVA/IEC version) While dynamic motor control via an acceleration command is not common in the industry, Acceleration Control was added to the Motion Device Axis Object to complete the dynamic progression from velocity control to torque control. The output of the velocity loop, Velocity Loop Output, also has units of acceleration. So, like the other control modes, we sum the contributions of the Acceleration Command, Acceleration Trim, and Velocity Loop Output to form the Acceleration Reference signal that serves as one of the primary inputs to the Torque Control section.
Acceleration Limiter
The output of the acceleration command summing junction signal passes through a classic limiter block to produce the Acceleration Reference signal. The Accel Limiter block applies a directional acceleration limit, either the Acceleration Limit and Deceleration Limit, to the input command signal based on the sign of the signal.
Torque Control
Torque is generally proportional to acceleration and to the torque producing motor current, Iq. The purpose of the Torque Control structure is to combine input signals to create a Torque Reference from a number of different sources based on the Control Mode and apply various filters and compensation algorithms to the Torque Reference to create a Filtered Torque Reference. The Filtered Torque Reference signal is scaled by the reciprocal of the torque constant, Kt, of the motor to become the Iq Current Command input to the current loop. Because the motor current is also per unitized to the % Rated current of the motor, the torque constant, Kt, is nominally 1. In other words, in general it is assumed that 100% rated current produces 100 % rated torque.
Torque Input Sources
The Torque Control section can take input from a variety of sources depending on the Control Mode. Input to the Torque Reference path can come via the cyclic Torque Command or Torque Trim signal in Torque Control mode. In Position or Velocity Control mode, torque input is derived from the outer velocity loop or acceleration loop by bringing in the resulting acceleration signals and scaling these signals into equivalent torque.
Acceleration to Torque Scaling
Since the acceleration input signals into the Torque Control section are expressed in units of acceleration, a scaling factor, Kj, is needed to convert acceleration units to torque % Rated Torque units. This scaling factor, when properly configured, represents the total System Inertia or mass of the system that includes the motor and the load and has the effect of canceling the effects the system inertia/mass has on control loop response and loop gain settings. Because the torque units are expressed as % of Rated Torque of the motor, the units for the System Inertia attribute are % Rated per Motor Units/Sec2. Note however that acceleration units can be expressed in Feedback 1 or Feedback 2 Units based on the Feedback Mode setting. Therefore, in the case where Feedback 2 applies, the acceleration signal needs to be scaled by the Feedback Unit Ratio as shown by the Unit Ratio block in the diagram below.
Backlash Compensation
A number of important compensation features are included in the torque control diagram. Backlash Compensation is used to stabilize the device control loop behavior in applications with high load inertia ratios and mechanical backlash.
The Backlash Compensation Window attribute is used to control the Backlash Compensation feature. Mechanical backlash is a common problem in applications that utilize mechanical gearboxes. The problem stems from the fact that until the input gear is turned to the point where its proximal tooth contacts an adjacent tooth of the output gear, the reflected inertia of the output is not felt at the motor. In other words, when the gear teeth are not engaged, the system inertia is reduced to the motor inertia.
If the velocity control loop is tuned for peak In the worst case scenario, the motor axis and the input gear oscillates wildly between the limits imposed by the output gear teeth. The net effect is a loud buzzing sound when the axis is at rest, commonly referred to as gearbox chatter. If this situation persists the gearbox will wear out prematurely. To prevent this condition, the conventional approach is to de-tune the velocity loop so that the axis is stable without the gearbox load applied. Unfortunately, system performance suffers.
With a Backlash Stabilization Window value commensurate with the amount of backlash in the mechanical system, the backlash stabilization algorithm is very effective in eliminating backlash-induced instability while still maintaining full system bandwidth. The key to this algorithm is a tapered Kj profile, shown below, that is a function of the position error of the position loop. The reason for the tapered profile, as opposed to a step profile, is that when the position error exceeds the backlash distance a step profile would create a very large discontinuity in the torque output. This repulsing torque tends to slam the axis back against the opposite gear tooth and perpetuate the buzzing effect. The tapered profile can be qualified to run only when the acceleration command or the velocity command to the control loop structure is zero, that is, when not commanding motion that would engage the teeth of the gearbox.
Properly configured with a suitable value for the Backlash Compensation Window, this algorithm entirely eliminates the gearbox buzz without sacrificing any servo performance. The Backlash Compensation Window parameter determines the width of the window over which backlash stabilization is applied. In general, this value is set equal to or greater than the measured backlash distance. A Backlash Stabilization Window value of zero effectively disables the feature.
Provide Feedback