Process Control Tech Note 18 - TNPC18
Abstract
This document describes the new features added to the CSPID modules in the Modular Controller range. These features include ramp/soak control, alternate setpoint (SP) and process value (PV).
Products
CSPIDXXX and GMPXXXXX
Setpoint Profiling
Setting up a Profile
The unit now supports setpoint profiling, otherwise known as ramp-soak functionality. The profile comprises up to 30 segments, each of which has a time period, an exit setpoint and a byte containing various flags that control its operation. The properties are named SegnnTime, SegnnSP, and SegnnMode, where nn is replaced with a value from 00 to 29 indicating the segment in question. The properties can be read and written via arrays in the Enhanced Master. Each segment can be used to implement a ramp period or a soak period, with soaks being implemented by setting a segment’s exit setpoint equal to that of the previous segment. Figure 1 illustrates a profile containing 9 segments and corresponding values.
Figure 1.
The corresponding values in the registers are shown in Table 1:
Table 1.
START/STOP A PROFILE
Profiling is controlled by loading the following registers:
- The start segment value into ReqSegment. In this example 0.
- A value equal to the last active segment plus one into the EndSegment register. In this example 9.
- And by then setting the ReqProfile bit.
The system will in response set the AckProfile bit, and the setpoint will then follow the defined profile. Once the profile has completed, the ProfDone bit will be set, and the system will hold the exit setpoint of the last segment. If the ReqProfile bit is cleared at any time, AckProfile will be cleared and the setpoint will return to the ReqSP or AltSP value as appropriate. This transition is not limited by setpoint ramping constraints. Additional status information can be accessed via the ActSegment register, which contains the number of the currently active segment, and via the SegRemain register, which indicates the amount of time remaining for that segment.
Profile Options
The segment mode register, SegnnMode, can be changed to activate each segment options individually by accessing specific bits within this register, refer to Figure 2.
Figure 2.
Bit 0: If set to 1, enables holding if the PV is below the setpoint.
Bit 1: If set to 1, enables holding if the PV is above the setpoint.
Bit 2: If set to 1, changes time reference to a rate rather than a time.
Bit 6: If set to 1, disables start point adjustment.
Bit 7: If set to 1, changes time reference to minutes instead of second.
Profile Hold
The lower two bits of the mode register for a given segment control the automatic hold feature. This feature pauses the profile if the PV is above or below an error band relative to the current setpoint. Bit weight 0x01 (Bit 0) enables holding if the PV is below the setpoint, while the bit weight 0x02 (Bit 1) enables it if the PV is above the setpoint. If both bits are set, holding will occur in either condition. The size of each band is defined by the ProfError register, with a hysteresis equal to ProfHyst being applied. (Note that if both the upper and lower band are enabled, the effective band size will be twice ProfError.) While automatic holding is active, the time remaining will not decrease, and the AutoHold bit will be set. A manual hold can also be activated by setting the ReqHold bit, in which case the system will pause but with AckHold set instead of AutoHold. If several loops need to follow a profile together, the AutoHold bits from all the loops can be OR-ed together and fed into all the associated ReqHold bits. This will pause the loops if one is not keeping up with the profile, and ensure that the entire system receives the appropriate ramp-soak treatment. Figure 3 illustrates the different holding register values when Bit 0 and 1 in the mode registers are set.
Figure 3.
Start Point Adjustment
Bit weight 0x40 (Bit 6) within the mode register can be set to disable start point adjustment. This feature looks at the current process value when starting a segment, and adjusts the segment time to maintain the same ramp rate as defined by the profile. For example, if the prior segment ends at 200.0°F and the current segment demands an increase to 300.0°F over ten minutes, but the system is actually at 190.0°F when the current segment is activated, start point adjustment will increase the segment time to eleven minutes to allow to the greater temperature difference. Start point adjustment does not operate on the first segment, as no ramp rate can be calculated without a prior segment. If you wish to use this feature at the start of a profile, define a dummy first segment with a time equal to zero to effectively define the ramp rate of the second segment.
Time Reference
Bit weight 0x80 (Bit 7) within the mode register switches the associated segment time register to minutes instead of the usual seconds. While a segment with this bit set is active, the SegRemain register shows the time remaining in minutes instead of seconds. It is recommended that this bit is either set or cleared for all segment to allow easier interpretation of SegRemain, but this is not compulsory.
Switching to Manual
If the system is placed in manual mode during profile execution, or if an input fault occurs, the profile will enter hold mode and set the AutoHold bit. When manual mode is deselected, or when the fault is cleared, the profile will resume, with the time remaining adjusted according to the start point adjustment logic if this feature has not been disabled for the current segment. This implies that the SegRemain time may increase or decrease according to what has happened to the PV while the profiled was being held.
Profile Register Summary
Profile control registers (Read/Write)
Table 2.
Profile status registers (Read only)
Table 3.
Alternate SP
The unit now supports an alternate setpoint value. This value is stored in the AltSP register, and selection between it and the standard ReqSP register is perform by setting or clearing the ReqAltSP bit as required. (On the CSPID2 module, an additional property will be added to indicate that the alternate setpoint should come from the other loop’s heat power or cool power value, rather from the AltSP register.) Setpoint changes via this mechanism are subject to the constraints imposed by the setpoint ramp rate settings.
Alternate PV
The unit now supports an alternate process value, allowing, for example, multiple sensors on an input module to be averaged in the Enhanced Master and then used as the input for a control loop. The PV value is stored in the AltPV register, and selection between it and the module’s own input hardware is performed by setting or clearing the ReqAltPV bit as required. (On the CSPID2 module, an additional property will be added to indicate that the alternate PV should come from the other loop’s input, rather than from the AltPV register.) Note that the AltPV register is sampled at the same rate as the hardware input, and the delta-t and limit values from that input are used within the PID calculations. This implies that an alternate PV should not be used on fast-acting systems where a significant differential term is included in the loop configuration, as the PID algorithm will not be able to accurately perform the required math. It further implies that the alternate PV should be of the same type and scaling as the hardware input. Note also that when the ReqAltPV register is changed, the loop will enter startup mode and disable the differential term of the first few readings. This is to avoid the wild output swings that might result from a step-change on the input to the loop calculation.
Use Ramp Rate Instead of Ramp Time
The unit now supports the ability to ramp using a rate instead of a time. To enable this feature, set the third bit (Bit 2) in the segment mode register, SegnnMode. This setting causes the corresponding time register, SegnnTime, to be interpreted as a rate of change. The value must be given in temperature units per hour. Temperature units are taken as degrees Fahrenheit, degrees Celsius, or Kelvin depending upon the units configured for the module.
During segments configured this way, the setpoint will ramp at the given rate until the target setpoint specified by SegnnSP is achieved. The rate can be changed at any time during the segment. The new rate will be adopted until the target setpoint is achieved.
NOTE: Not available for CSPID1 and/or GMPID1 modules
Disclaimer
It is the customer's responsibility to review the advice provided herein and its applicability to the system. Red Lion makes no representation about specific knowledge of the customer's system or the specific performance of the system. Red Lion is not responsible for any damage to equipment or connected systems. The use of this document is at your own risk. Red Lion standard product warranty applies.
Red Lion Technical Support
If you have any questions or trouble contact Red Lion Technical Support by clicking here or calling 1-877-432-9908.
For more information: http://www.redlion.net/support/policies-statements/warranty-statement