George Mathai and Paul Harbert, Dominion Transmission, Inc., Clarksburg, West Virginia;
Ron Miller, Basic Systems, Inc., Derwent, Ohio;
and Dwayne A. Hickman, ACI Services, Inc., Cambridge, Ohio
Modern PLCs offer the computing power necessary to implement complex control strategies that can incorporate multi-unit supervisory station control, as well as individual unit control methodologies based on load and/or flow.
When controlling a reciprocating compressor, it is critical that the PLC is able to model unit loads and flows, select safe and optimum load steps, handle curve-crossings, and stay out of operating areas that can lead to serious issues, such as rod loads, pin non-reversals, low volumetric efficiencies, high discharge temperatures, and blow-through.
When properly implemented, these strategies can help maximize the desired performance criteria (flow, fuel, emissions, safety, etc.), while protecting the unit from exceeding its design limits. However, when not implemented properly, a unit under automated control can experience problems that can result in unstable control, and/or a reduction of unit availability.
The goal here is to describe methodologies for controlling reciprocating compressors using either PID-based approaches or deadband-based approaches. In this discussion, it will be useful to address issues typically experienced with controlling reciprocating compressors, and present possible solutions.
Automating reciprocating compressors Reciprocating compressors compress gas by means of simple and straightforward actions: safe and proper control of them is not so simple. This article details one method for controlling a single reciprocating compressor using the control methods of: load step control (clearance pockets and end deactivation), speed control (for engines, VFD motors, and fixed-speed motors with torque converters, and suction (inlet) gas pressure control (aka suction throttling, or pinching suction).
Unit bypass control (flowing part or all of the discharge gas, after it is cooled, back to the inlet piping) is usually used as a last resort just to keep the unit up and running (i.e. in remote areas where very cold weather can make starting a cold unit quite difficult, or in situations to handle extreme upsets such as pigs becoming stuck in the pipeline). Unit bypass control is not fully addressed here, primarily because it is not used as a load or flow control device. However, it is often used as a high discharge line pressure and/or low suction line pressure control. When used, it may lead to an increase in gas inlet temperatures.
Discharge pressure control (aka pinching discharge) is occasionally used to force certain pressure ratios for testing and tuning unit performance, and can be used to maintain a minimum unit load during normal operations. Pinching discharge pressure can also be used in low differential situations to create load on the unit while having less of an effect on flow.
Control method premises
The control methods described here are designed for compression of natural gas, from 0 to 3300 psia (0 to 227.5 bara). Due to thermodynamic properties, compression of other types of gases (e.g. process gases) can lead to issues where alternate control logic may be more appropriate. The control logic described is valid for single and multistage units; however, additional logic is often required when handling multistage units with various types of sidestreams (in or out), handling multiple services of gas compression on one compressor frame, and/or staging units together (output from one unit flows into another nearby unit). Nevertheless, the topics discussed here lay a solid foundation for alternate control philosophies.
To ensure safety, methods and procedures to prevent/remove liquid dropouts must be implemented. This document assumes that the fluids being compressed are always in their gaseous states. Manual devices, such as valve spacers, cylinder plugs, and manual variable volume pockets (VVPs) usually cannot be automated. As such, these manually operated types of load devices are not considered in the general automation methods. However, a control panel may be setup such that it has multiple control methods, each based on specific hardware arrangements (i.e. one control model for each scenario of that unit having 0, 8, or 16 valves spacers, or single-stage versus two-stage operation of a unit). Caution must be applied since the control panel does not usually have any sensor feedback to know the current physical hardware arrangement of the unit as last configured by the operators/mechanics.
Station control overview
The overall capacity control of a station with multiple units may be implemented in a number of ways. The main process variables usually being controlled are one or more of the following:
- Discharge pressure
- Suction pressure
- Discharge temperature (in a few cases).
When multiple process variables are being controlled, there is a low selector employed so that the variable which results in the lowest capacity (or load) is selected for use in controlling the station.
The process controllers are usually located in a station PLC. The output of the process controllers is sent to the unit control system as a speed set point, torque set point or combination of both. Some operators use a common set point for all of the running units, while others will uniformly load all but one of the running units and send the variable capacity signal to the remaining swing unit. The unit capacity controller then makes the necessary adjustment to the unit (speed and/or load step) to meet the new set points. In some special cases, the unit controller may also have to control a suction or discharge throttle valve to meet minimum or maximum horsepower requirements of the driver or for additional capacity turndown.
The station controls can be configured with varying degrees of complexity. For instance, the controller can simply make adjustments to the capacity control. Then, when the capacity control is calling for maximum or minimum output and the station is still not making set point, it is up to an operator to start or stop a unit.
Alternatively, the station controls can be setup to automatically start or stop units based on failure to meet current set points. The success of this implementation depends on the nature of the system load swings and how these swings are incorporated into the PLC logic. One variation of this for storage facilities is to incorporate the daily nomination into the flow set point and base the flow set point on the amount of gas remaining to be pumped.
In some stations there are multiple services that must be addressed. In these instances, there are sets of process controllers for each service and then the units are assigned manually or automatically to a service before they are started.
Considerations prior to automation
With the implementation of a control strategy, the unit will be operating at the highest possible load for a given operating condition. Therefore, the unit will most likely be operating at a higher load than before the automation. It would be prudent to identify any reasons why a unit may not be able to operate at full capacity. Nothing will be gained by optimizing the loading and flow control of a unit if the unit is not mechanically sound, or ancillary systems are not adequate to run the unit at full load, or if the pipeline system will not accommodate the increased capacity.
Here are a few questions to consider:
- What is the mechanical condition of the unit? If a unit is not in sound operating condition, the increased loads placed on it by automation will expose these mechanical deficiencies, and increased downtime may result.
- What is the condition of the gas, oil, and water cooling systems? Will they be able to handle the increased heat load when engines are operated at higher loads than in the past?
- Will the conditions in which the unit is operating allow for increased throughput? Is there enough suction capacity? Is the discharge pressure likely to rise as a result of increased throughput? Additional loading of the unit may reduce suction pressure or raise discharge pressure and negate the improved flow.
Starting a unit
A normal unit start (safely taking the unit from the normal stop condition to the condition of being online and compressing gas) sequence is:
- Pre-lube the unit and compressor.
- Purge and pressurize the compressor unit piping and sequence the unit valves to their starting positions (purging and pressurizing can be skipped if the unit has not been blown down). Unit should end up in unit bypass mode, when applicable.
- Follow normal driver startup procedures.
- Let the engine establish itself in a steady condition at OEM recommended idle speed.
- Go through a warm-up period as established by the OEM – the shorter the better.
At the completion of the warm-up period, close the bypass valve to load the unit. Make sure that the travel time of the bypass valve is slow enough to allow the governor to maintain control of the unit speed without stalling, over-speeding or surging of the unit.
The control of the load control devices is usually incorporated into the overall unit control system. All load control devices (volume pockets, end deactivators, etc.) should be set so as to provide minimum load. In general, this means that all volume pockets are fully open and all end deactivators are engaged (i.e. gas is not compressed in those cylinder ends).
A unit can experience issues such as rod loads, pin non-reversals, and high temperatures when operating at the initial startup pressures, minimum speed, and least-load load step. Thus, it is critical to make sure that the least-load/load step is safe to use at the current speed and expected suction and discharge pressures. If it is not safe to use, then do one, the other, or both of the following:
- Via an inlet control regulator, reduce the suction pressure until the least-load/load step is safe, and/or
- Adjust to a different load step that is safe.
If neither adjustment provides for a safe operating condition, then the unit should be shut down. When the bypass is fully closed, then the unit is online and subject to control by the general unit control and the active permissives being used.
After the unit is initially placed online, it may be significantly below its specified torque set point. During this time, the time to pause between hardware changes during loading is usually significantly shorter than normal loading pauses. Load step delays may be from 5 to 30 seconds during initial loading, but may be from 30 seconds to three minutes for normal loading. However, even in normal loading, if the current load is 10% to 15% below desired load, a faster loading time may be used to expedite the loading.
General unit control
With fixed-speed units, it is more common to use a set of permissives with defined deadbands. This allows the controlling method to only engage discrete steps of change when one of the permissives requires a unit adjustment. However, with variable speed units, PID (Proportional-Integral-Derivative) loops are most common. Since PID loops continually act to adjust the unit, care must be given to distinguish between discrete operating changes such as what occurs with changes in load step, and smooth changes such as what occurs with changes in speed, changes in pressure, and flow via recycle valves.
The most common control permissives used when controlling a single reciprocating unit are:
- Load control (control actual load on compressor, indirectly control flow)
- Torque control (control actual load on the driver).
- Flow control (control flow though the compressor). This is typically only used for units with individual unit flow meters, otherwise flow control is general handled by a station flow PLC. If so, the station flow PLC (full logic not included here):
- Controls the number of units active and online.
- Forces changes in station flow by forcing changes in each individual unit’s load. This is often done by having the station PLC appropriately adjust the load or torque set points of the online units individually.
- Generally makes the assumption that increasing loads lead to increasing flows, and vice versa. While this assumption is often true, it can also at times be grossly wrong.
- Low suction pressure control (prevents suction pressure dropping too low)
- High discharge pressure control (prevents discharge pressure climbing too high)
- High cooler temperature control (prevents sending too much hot gas through the coolers, prevents overly hot gases from entering pipeline system).
- High interstage pressure control (prevents relief valves from triggering).
- Flow control (control flow though the compressor). This is typically only used for units with individual unit flow meters, otherwise flow control is general handled by a station flow PLC. If so, the station flow PLC (full logic not included here):
- Fixed-speed units: Load-based and flow-based permissives typically call for more or less load based on a deadband – these deadbands are often skewed towards one side so as to slightly favor unloading.
- Variable-speed units: The process PID controller (flow or pressure based) calls for a change in capacity that is first directed to the governor as a speed change. A PID loop operates based on comparing the set point against the process variable and providing an output (controlled variable) which acts to correct any difference between the set point and process variables. If the requested speed change is above or below a preset limit (such as 98% increasing or 85% decreasing), a load step change is also initiated. A request for increasing load is only granted if the increased load will not result in exceeding the torque rating of the unit. Requests for increasing or decreasing the load are also examined for other operating problems such as low VE (volumetric efficiency), non-reversing pin loading, etc. and are granted if such problems will not exist.
- There exists a call for load, only if all of the active permissives are all calling for more load.
- There exists a call for unload, if any one of the active permissives is calling for less load.
- General concepts that must be considered:
- Load step changes (same speed, same pressures)
- Changing load step to increase load may increase flow (more common), or it may decrease flow (less common).
- Changing load step to decrease load may increase flow (less common), or it may decrease flow (more common).
- Changing load step to increase flow may increase load (more common), or it may decrease load (less common).
- Changing load step to decrease flow may increase load (less common), or it may decrease load (more common).
- Speed changes (same load step, same pressures)
- Decreasing speed will always decrease load but may also render certain load steps (including the one currently being used) unsafe – usually due to rod load and/or pin non-reversal issues.
- Increasing speed will always increase load but may also render certain load steps (including the one currently being used) unsafe – usually due to rod load and/or pin non-reversal issues, as well as overloading.
- Decreasing speed will decrease torque (albeit at times very slightly) since compressor valves become more efficient at lower speeds. Also, decreasing unit speed simultaneously lowers the maximum deliverable load by the driver.
- Increasing speed will increase torque (albeit at times very slightly) since compressor valves become less efficient at higher speeds. Also, increasing unit speed simultaneously increases the maximum deliverable load by the driver.
- Decreasing speed will always decrease flow.
- Increasing speed will always increase flow.
- Reducing speed often increases emissions on natural gas driven engines – the overall torque on the unit has more of an effect on emissions than just changes to speed alone.
- Reducing speed usually lowers BSFC (lb/BHP-hr) on natural gas driven units engines – the overall torque on the unit has more of an effect on BSFC than just changes to speed alone. (While the unit’s fuel rate may decrease with lower speeds, the amount of fuel required to generate one unit of power actually increases.)
- Changes in speed can have significant affects on system piping acoustics, which in turn can affect vibrations, effective required power, and effective flow rates.
- Changes in speed rarely affect interstage pressures, unless sidestreams are present.
- Suction pressure changes (same load step, same speed, same discharge pressure)
- Decreasing suction pressure will always decrease flow.
- Increasing suction pressure will always increase flow.
- Decreasing suction pressure will sometimes decrease load, and will at other times increase load.
- Increasing suction pressure will sometimes decrease load, and will at other times increase load.
- Discharge pressure changes (same load step, same speed, same suction pressure)
- Decreasing discharge pressure will always increase flow.
- Increasing discharge pressure will always decrease flow.
- Decreasing discharge pressure will sometimes decrease load, and will at other times increase load.
- Increasing discharge pressure will sometimes decrease load, and will at other times increase load.
- Suction temperature changes (same load step, same speed, same pressures)
- Heating inlet temperature tends to lead to less dense gas, which in turn leads to lower loads and less flow. However, for multistage units, changes in inlet gas temperatures can affect interstage pressures (via interstage mass balancing), which in turn can affect flow rates positively, or negatively.
- Cooling inlet temperature tends to lead to more dense gas, which in turn leads to more load and more flow. Again, for multistage units, changes in inlet gas temperatures can affect interstage pressures (via interstage mass balancing), which in turn can affect flow rates positively, or negatively.
- All of the above relationships assume a pulsation-free system. However, changes in speed, ratio, and load step can affect pulsations in the gas passageways that lead to the cylinder’s valves. These pulsations can affect both load and flow – usually adversely, but occasional favorably.
- General unit control is usually only engaged when the startup is complete. In general, this occurs when the bypass valve is fully closed. Exceptions may exist for units that actively use the bypass valve as part of their unit control logic.
- Some units may have more than one recycle valve, one for startup (typically prior to cooler) and another for unit control (typically after the cooler).
Discrete control via deadbands
If there is a call for more load (and current load step is safe), then:
- Unit bypass should be closed 100% before any other actions are taken.
- If inlet pressure is being regulated, then open inlet valve X% more, wait Y seconds. Continue until inlet regulator is full open (or maximum allowed open).
- Suction pressure should usually be allowed to reach its maximum pressure (i.e. no throttling) before other actions are taken.
- Else, if current speed is less than rated speed (or max allowed speed) then ramp speed up X rpm and wait for Y seconds.
- These changes in speed allow for smooth control of load and/or flow, and help to bring the permissives back within their deadbands if those deadbands are only being slightly surpassed. However, preference is typically given to keep the engine close to rated speed for maximum fuel efficiency, and/or minimum emissions.
- Else, determine next safe load step with higher load, engage that load step, and then wait for X?seconds.
- Otherwise, there is no solution for satisfying the desired load. Hold at current safe load step and maximum allowed speed.
If there is a call for less load (and current load step is safe), then:
- If current speed is greater than the unit’s_rated_speed_less_X rpm (usually about 5% to 10% of rated speed), then lower the speed Y?rpm and wait for Z?seconds. (Note: use unit’s rated speed or unit’s maximum allowed speed.)
- Else, determine next safe load step with lower load, engage that load step, and then wait for?X seconds.
- Else, if inlet pressure is being regulated, then pinch inlet valve X% more, wait Y?seconds. Continue until no more call for unloading, or inlet regulator reaches its maximum allowed pinch setting.
- Otherwise, open unit bypass X% and wait Y?seconds. Continue until bypass is 100% open. If unit has been in unit bypass mode for X minutes (or hours), then shut down unit.
If the current load step being used is determined to be unsafe, then:
- Determine next safe load step with lower load, and if one is found then engage that load step, and then wait for X seconds. Also, set a timer such that for the next Y?minutes (usually about 20-30 minutes) use a slow load delay time instead of the normal load delay time.
- If there are no load steps that are safe with lower load, then determine next safe load step with higher load, and if one is found then engage that load step, and then wait for X?seconds. Also, set a timer such that for the next Y?minutes (usually about 20 to 30 minutes) use a slow load delay time instead of the normal load delay time.
- Otherwise, shut down.
Continuous control via PID loops
PID loops are closed loop feedback control systems. The acronym PID comes from the proportional, integral and derivative terms used in the controller algorithm. A PID controller works by comparing two inputs (set point and process variable). This results in an error signal. The controller changes its output (controlled variable) based on this error signal. The change in output is continuous and is proportional to the change in error (for the proportional term), based on the amount of error over time (for the integral term) and based on the rate of change of error (for the derivative term). The overall response of the controller depends on the tuning of these parameters. In many cases, the derivative term is not included and in some cases the Integral term is also not included.
For station capacity control, a PID controller or a combination of controllers monitor certain station parameters such as flow and/or pressure, and the output is then used for controlling station capacity through the unit control system. When multiple controllers are used, a comparison is made between the different controllers and the controller that results in the lowest capacity used to control the station. The remaining controllers are put in a tracking mode to eliminate reset windup. The unit control system uses the output of the station process controllers to increase/decrease unit capacity by controlling speed, unit unloading and in some cases, throttling suction valves.
Stopping a unit
This is not a safety shut down. Handle actual safety shut downs in accordance with your company’s formal specifications. Normal stopping is designed to minimize the thermal stresses on the engine. This is accomplished by reducing the load to minimum conditions and allowing the engine to cool down for a predetermined amount of time. The stop process leaves the unit ready for its next start, and depending on the site-specific procedures, may leave the unit pressurized or unpressurized. The normal stop sequence is:
- Unload unit in accordance with normal unload procedures, but implement a fast unload timer so that the unit only spends a few seconds on each specified load step as it unloads. This is often done by setting a unit_stopping flag “true,” and whenever this flag is true, then there is always a call for more unloading, and unload_timer is set to a fast_unload_delay_time. Delays during normal unloading may be from 15 seconds to 2 minutes, but during stopping, they will likely be from 2 seconds to 5 seconds.
- Reduce unit speed to minimum run speed. (Items #1 and #2 may be swapped or done concurrently, depending on your preference.)
- Open unit bypass 100%. Make sure the travel time of the bypass valve is slow enough to allow the governor to maintain control of the unit speed without over speeding or surging of the unit.
- Open any remaining pockets and deactivate any remaining ends. Note: Item #1 above will take unit to a low-load load step that is still safe. This may not always be the unit’s least-load/load step.
- Follow OEM specifications for properly stopping the driver.
Proper care must be taken during the stopping process (as is done during the startup and unit control processes) to protect the unit from possible safety issues, such as exceeding rod load limits, or failing to properly lubricate the crosshead pin. These issues can unexpectedly arise during operations at lower speeds.
Next safe load step
Often, passing through adjacent load steps always leads to more load (if moving upwards) or always leads to less load (when moving downwards). This is typically the case when only volume pockets on the first stage of compression are present and used.
However, when volume pockets on subsequent stages are used, or when end deactivation is used (on any stage), the load step curves may crossover each other. As such, the selection of the next load step to use should be based on predicted power (or flow) and load step safety, rather than just simply incrementing (or decrement) load step numbers.
Furthermore, just because there exists a small change in actual load from one load step to another, there may exist a sizable change in flow, and vice versa. As such, an ideal selection of the next load step to use should consider its effects on both load and flow.
Based on a paper presented at the Gas Machinery Conference held in Dallas, Texas, October 1-3, 2007.
The oil and gas industry’s preference in November’s election has become less clear cut.
The combined company, which will be named Devon Energy, will create a leading unconventional oil producer in the U.S. with a dominant Delaware Basin acreage position.
A conventional, stratigraphic trap in Scurry County on the Permian Basin’s Eastern Shelf doesn’t cover hundreds of thousands of acres like shale plays. But the wells are just as good. And, for private wildcatters, they’re particularly great.