Digital positioner and valve controller for a valve
By generating pulse-width modulated current signals using a digital positioner and controlling pneumatic actuators using supply and discharge relays, the problems of air consumption and valve movement waste caused by continuous electro-pneumatic converters are solved, achieving energy saving and precise valve control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- FISHER CONTROLS INT LLC
- Filing Date
- 2021-05-21
- Publication Date
- 2026-07-21
AI Technical Summary
Existing continuous electro-pneumatic converters result in excessive air consumption in process control systems, increasing costs and causing environmental waste, while actuator throttling leads to unnecessary and wasteful valve movement.
A digital positioner is used to generate a pulse or pulse width modulation (PWM) current signal, which generates a discrete output through the valve controller, reducing electronic components. The pressure of the pneumatic actuator is controlled by supply and discharge relays to achieve precise valve position adjustment.
It significantly reduces air consumption, lowers energy costs, avoids vibration and unnecessary movement of valve actuators, and improves the accuracy and efficiency of valve control.
Smart Images

Figure CN113700928B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to process control systems, and more specifically, to digital positioners for controlling valves in process control systems. Background Technology
[0002] Industrial processing plants use control valves in a variety of applications, from controlling process flows in refineries to maintaining liquid levels in tank farms. Typically automated, control valves are used to manage this fluid flow by functioning like variable orifices or channels. The amount of product passing through the valve body can be precisely regulated by controlling internal valve components, such as valve plugs. These control valves are often automated using pressure-operated actuators controlled by remotely operated field instruments, such as positioners with valve controllers. The valve controller communicates with a process control computer to command changes in the fluid flow rate within the valve, thereby implementing the control strategy desired by the plant operator through the pressure-operated actuator. Electro-pneumatic converters, such as current-to-pressure (I / P) transducers (also referred to herein as “current-to-pressure converters”), are typically used in positioners to convert electrical signals from the valve controller into volumetric flow rate or pressure outputs, thereby controlling the actuator and, consequently, the control valve.
[0003] Valve controllers may include pressure sensors, a two-stage pneumatic amplifier system operating in analog mode, and a stroke sensor integrated into the pneumatic relay stage to provide damping circuitry. Valve controllers typically provide an analog output to an electro-pneumatic sensor in the form of a continuous current signal, which converts the continuous current signal into a volumetric flow rate or pressure output. Current electro-pneumatic converters typically provide continuous, proportional current-to-pressure conversion. Existing continuous-conversion electro-pneumatic converters continuously consume or vent air during operation. In some applications, such as when the fluid supplied to the field instruments and electro-pneumatic converter is a natural gas-like process medium, high air consumption is undesirable. For example, the cost associated with providing additional capacity in the fluid supply system can be substantial. Furthermore, such continuous venting of the process medium is both expensive and environmentally wasteful. Continuous pressure signals cause actuator throttling, resulting in unnecessary and wasteful valve movement. Summary of the Invention
[0004] To reduce air consumption and financial and environmental costs, digital positioners include valve controllers that generate discrete outputs in the form of pulsed or pulse-width modulated (PWM) current signals. More specifically, the valve controller can generate rectangular pulse waves with specific time periods (e.g., 0.070 seconds), wherein the rectangular pulse wave includes current values above a threshold maximum current level (e.g., 18 mA) at one or more time intervals within the specific time period and / or current values below a threshold minimum current level (e.g., 4 mA) at one or more other time intervals within the specific time period. The proportion of time periods during which the current value is above the threshold maximum current level can be referred to as the duty cycle of the specific time period. A 0% duty cycle can indicate that the current value is below the threshold minimum current level for the entire time period. A 100% duty cycle can indicate that the current value is above the threshold maximum current level for the entire time period. A 50% duty cycle can indicate that the current value is above the threshold maximum current level for half a time period. To control the position of the valve, the valve controller can generate discrete outputs with specific duty cycles, wherein the duty cycle is proportional to the pressure supplied to the valve actuator. For example, when the duty cycle is 0%, the electro-pneumatic converter can supply no pressure to the actuator. When the duty cycle is 100%, the electro-pneumatic converter can supply the actuator with the maximum pressure, and when the duty cycle is 50%, the electro-pneumatic converter can supply the actuator with half of the maximum pressure.
[0005] An electro-pneumatic converter can convert discrete PWM current signals into discrete PWM pressure outputs. In some implementations, the electro-pneumatic converter generates pneumatic pressure pulses and, based on the PWM current signal, provides zero pressure (or pressure below a threshold minimum pressure level) at one or more time intervals within a specific time period and / or maximum pressure (or pressure above a threshold maximum pressure level) at one or more other time intervals within a specific time period. The average pressure output provided to the actuator can correspond to a combination of the PWM pressure output duty cycle and the maximum pressure. For example, if the maximum pressure is 20 psig and the PWM pressure output duty cycle is 50%, the average pressure output could be 10 psig.
[0006] In some implementations, the valve controller can provide two PWM current signals to two electro-pneumatic converters. The first electro-pneumatic converter can provide a first PWM pressure output to a supply relay, which in turn provides the first pressure output to the actuator's supply port. The second electro-pneumatic converter can provide a second PWM pressure output to a discharge relay, which discharges the second pressure output from the actuator.
[0007] In this way, the number of electronic components in a digital positioner is reduced compared to alternative positioners with amplifiers and / or additional sensors for damping. Furthermore, the digital positioner stops supplying pressure to the valve actuator when the valve reaches the desired position. Therefore, the valve actuator does not vibrate, and the amount of air consumed from the electro-pneumatic converter is significantly reduced.
[0008] In one implementation, the digital positioner for the valve includes a valve controller configured to acquire a setpoint value for the valve's stroke and generate a pulse-width modulated (PWM) current signal based on the setpoint value. The digital positioner also includes a current-to-pressure converter configured to receive the PWM current signal from the valve controller, convert the PWM current signal into a PWM pressure signal, and provide the PWM pressure signal to a pneumatic actuator in the valve to adjust the valve's position.
[0009] In another implementation, the valve controller includes one or more processors and a non-transitory computer-readable storage memory thereon storing instructions. When executed by the one or more processors, these instructions cause the valve controller to acquire a setpoint value for the valve's stroke, generate a pulse-width modulated (PWM) current signal based on the setpoint value, and provide the PWM current signal to a current-to-pressure converter. The current-to-pressure converter converts the PWM current signal into a PWM pressure signal and provides the PWM pressure signal to a pneumatic actuator in the valve to adjust the valve's position. Attached Figure Description
[0010] Figure 1 This is a perspective view of a digital valve positioner operatively coupled to an actuator, as described in this disclosure.
[0011] Figure 2 yes Figure 1 A block diagram of the components of a digital valve positioner;
[0012] Figure 3 They are respectively from in Figure 1 An exemplary graph of pulse-width modulated current signal and pulse-width modulated pressure signal provided by the valve controller and electro-pneumatic converter operated in the digital valve positioner.
[0013] Figure 4A It is in response to the fact that Figure 1 An exemplary graph showing the first drive signal provided by the valve controller operated in the digital valve positioner, which is respectively provided to the pulse width modulated pressure signals of the supply relay and the discharge relay;
[0014] Figure 4B It is in response to the fact that Figure 1Another exemplary graph of the second drive signal provided by the valve controller operated in the digital valve positioner, which is provided to the pulse width modulated pressure signals of the supply relay and the discharge relay respectively;
[0015] Figure 4C It is in response to the fact that Figure 1 Another exemplary graph showing the third drive signal provided by the valve controller operated in the digital valve positioner, which is respectively provided to the pulse width modulated pressure signals of the supply relay and the discharge relay.
[0016] Figure 5A It is as a source Figure 1 An exemplary graph of the relay supply flow as a function of the relay control pressure of the supply relay operated in the digital valve positioner.
[0017] Figure 5B It is as a source Figure 1 An exemplary graph of the relay discharge flow as a function of the relay control pressure of the discharge relay operated in the digital valve positioner.
[0018] Figure 6A This is an exemplary graph showing the setpoint and valve stroke value as a function of time, used for calibration. Figure 1 The digital valve positioner identifies the starting point values of the supply relay and the discharge relay;
[0019] Figure 6B Based on Figure 6A An exemplary graph of the calibrated starting point values as a function of the setpoint values of the supply and discharge relays;
[0020] Figure 7A This is a flowchart of an exemplary method for identifying the starting point value of a supply relay, which can be derived from... Figure 1 This is achieved through a valve controller operated in a digital valve positioner;
[0021] Figure 7B This is a flowchart of an exemplary method for preventing damping and for identifying the starting point value of the discharge relay, which can be derived from... Figure 1 This is achieved through a valve controller operated in a digital valve positioner;
[0022] Figure 8 This is a flowchart of an exemplary method for identifying the starting point values of supply and discharge relays, which can be derived from... Figure 1 This is achieved through a valve controller operated in a digital valve positioner;
[0023] Figure 9AThis is an exemplary graph of valve stroke values as a function of time compared to the setpoint value, where the digital valve positioner does not overshoot or undershoot the setpoint value beyond the dead band value.
[0024] Figure 9B This is an exemplary graph of the valve stroke value as a function of time compared to the setpoint value, where the digital valve positioner overshoots the setpoint value by exceeding the dead zone value.
[0025] Figure 9C This is an exemplary graph of valve stroke values as a function of time compared to the setpoint value, where the digital valve positioner undershoots the setpoint value by more than half of the dead zone value.
[0026] Figure 10A This is a flowchart of an exemplary method for adjusting the dead zone value over time to reduce the dead zone value when the undershoot setpoint value of a digital valve positioner reaches more than half of the dead zone value. This exemplary method can be derived from... Figure 1 This is achieved through a valve controller operated in a digital valve positioner;
[0027] Figure 10B This is a flowchart of an exemplary method for adjusting the dead zone value over time to increase the dead zone value when the overshoot setpoint value of a digital valve positioner reaches a value exceeding the dead zone value. This exemplary method can be derived from... Figure 1 This is achieved through a valve controller operated in a digital valve positioner;
[0028] Figure 11 This is a flowchart of an exemplary method for saturating when a setpoint value exceeds 100% or is less than 0%. This exemplary method can be implemented by... Figure 1 This is achieved through a valve controller operated in a digital valve positioner;
[0029] Figure 12 This is a flowchart of an example method for preventing overshoot from a wind-up condition. This exemplary method can be implemented by... Figure 1 This is achieved through a valve controller operated in a digital valve positioner; and
[0030] Figure 13 This is a flowchart of an exemplary method for reversing the direction of change in valve stroke when it is detected that the valve is moving away from a setpoint value. This exemplary method can be derived from... Figure 1 This is achieved through a valve controller operated in a digital valve positioner. Detailed Implementation
[0031] To facilitate an understanding of the principles of this disclosure, reference will now be made to the exemplary embodiments and variations thereof illustrated in the accompanying drawings, as well as the specific language used to describe such exemplary embodiments and variations. However, it will be understood that this is not intended to limit the scope of this disclosure, and the scope of this disclosure includes these changes and further modifications to the illustrated device that would normally conceive of to those skilled in the art, and these further applications of the principles of the illustrated disclosure.
[0032] Generally, digital valve positioners for use with actuators are disclosed. References are now available. Figure 1 An exemplary digital valve positioner 14 is depicted mounted to a pneumatic valve actuator 12 (also referred to herein as "actuator 12"). The digital valve positioner 14 includes a valve controller, an I / P module or converter, and a pneumatic relay assembly including a supply relay and a discharge relay. The digital valve positioner 14 generates a PWM current signal and converts the PWM current signal into a pneumatic output pressure destined for the actuator 12.
[0033] The digital valve positioner 14 may also include a port block having two output ports and a supply port. The output ports are operatively coupled to the actuator 12 in a known manner. In some implementations, one of the output ports may supply a supply flow to the actuator 12, while the other output port may receive a discharge flow from the actuator 12. The flow from the other output port may be discharged to the atmosphere, through a discharge duct vented to the atmosphere. In this way, the actuator pressure can be increased by opening the supply relay to allow supply flow into the actuator 12 while simultaneously closing the discharge relay to prevent discharge flow from the actuator 12. The actuator pressure can be decreased by closing the supply relay to prevent supply flow into the actuator 12 while simultaneously opening the discharge relay to allow discharge flow from the actuator 12.
[0034] Additionally, the supply port is operatively coupled to the supply source 20. The port block may further include two discharge ports, each corresponding to an output port. In other words, each output port has a corresponding discharge port. Furthermore, each discharge port includes a discharge port opening. The digital valve positioner 14 may also include a discharge assembly operatively coupled to at least one discharge port opening.
[0035] Figure 2 yes Figure 1A block diagram of an exemplary digital valve positioner 14 is provided. The digital valve positioner 14 includes a valve controller 202, I / P drivers 204, 206, I / P transducers 208, 210, a supply relay 212, a discharge relay 214, and a valve stroke sensor 216. The valve stroke sensor 216 is configured to acquire the current valve stroke value or the current pressure value in the valve's actuator and provide the current valve stroke value or pressure value to the valve controller. The valve controller 202 includes one or more processors, a memory, and a communication unit. The memory may be non-transitory memory and may include one or more suitable memory modules (e.g., random access memory (RAM), read-only memory (ROM), flash memory, other types of persistent memory, etc.). The communication unit sends and receives data via a local area network, a wide area network, or any other suitable network. The memory may include an operating system and a control unit for controlling the digital positioner 14 to generate drive signals to I / P drivers 204, 206, I / P transducers 208, 210, supply relay 212, and / or discharge relay 214. Drive signals may be generated based on, for example, a setpoint value transmitted from a process control computer via a communication unit. Drive signals may also be generated based on a valve stroke value or pressure value obtained from valve stroke sensor 216, and / or the difference between the setpoint value and the current valve stroke value or pressure value. In some embodiments, valve controller 202 generates drive signals from -1 to 1, where a drive signal of 1 indicates 100% supply flow to the actuator, a drive signal of 0 indicates 0% supply flow to the actuator, and a drive signal of -1 indicates 100% discharge flow from the actuator. Valve controller 202 may provide drive signals to I / P drivers 204, 206.
[0036] I / P drivers 204 and 206 may include a first I / P driver 204 for controlling the supply flow by generating a supply relay PWM current signal and providing the supply relay PWM current signal to a first I / P transducer 208 for generating a supply pressure signal. I / P drivers 204 and 206 may also include a second I / P driver 206 for controlling the discharge flow by generating a discharge relay PWM current signal and providing the discharge relay PWM current signal to a second I / P transducer 210 for generating a discharge pressure signal. In some implementations, I / P drivers 204 and 206 may be software modules within valve controller 202 having instructions for converting drive signals into supply current signals and discharge current signals, respectively. In other implementations, I / P drivers 204 and 206 may each include a processor and a memory having instructions for converting drive signals into supply current signals and discharge current signals, respectively, or may be hard-coded as EPROM, EEPROM, application-specific integrated circuit (ASIC), or any other hardware or firmware element. The valve controller 202 can be coupled to the I / P drivers 204 and 206 via a wired or wireless communication link to transmit drive signals to the I / P drivers 204 and 206. In other implementations, as described above, the I / P driver 204 can be a software module included in the valve controller 202.
[0037] Each I / P driver 204, 206 can generate a PWM current signal with a specific time period (e.g., 0.070 seconds) corresponding to a drive signal. More specifically, each I / P driver 204, 206 can generate a rectangular pulse wave with a specific time period (e.g., 0.070 seconds), wherein the rectangular pulse wave includes a current value above a threshold maximum current level (e.g., 18mA) at one or more time intervals within the specific time period and / or a current value below a threshold minimum current level (e.g., 4mA) at one or more other time intervals within the specific time period. Each I / P driver 204, 206 can generate a corresponding PWM current signal based on a drive signal from the valve controller 202. When the drive signal is greater than zero, I / P driver 204 can generate a PWM current signal with a duty cycle corresponding to the drive signal. For example, if the drive signal is 0.1, I / P driver 204 can generate a PWM current signal with a duty cycle of 10%. Furthermore, when the drive signal is greater than zero, I / P driver 206 can generate a PWM current signal with a duty cycle of 0%. When the drive signal is less than zero, I / P driver 206 can generate a PWM current signal with a duty cycle corresponding to the drive signal. Furthermore, when the drive signal is less than zero, I / P driver 204 can generate a PWM current signal with a 0% duty cycle. When the drive signal is zero, both I / P drivers 204 and 206 can generate a PWM current signal with a 0% duty cycle.
[0038] I / P transducers 208 and 210 can receive PWM current signals from their respective I / P drivers 204 and 206, and can generate PWM pressure signals proportional to the PWM current signals. In some implementations, I / P transducers 208 and 210 can be designed as on-off devices such that each I / P transducer 208 and 210 provides zero pressure (or pressure below a threshold minimum pressure level) or full supply pressure (or pressure above a threshold maximum pressure level) at any given time interval. For example, when the PWM current signal of I / P driver 204 has a 10% duty cycle, I / P transducer 208 can provide full supply pressure (e.g., 20 psig) for 10% of the specific time period and can provide zero supply pressure for the remaining 90% of the time period. Therefore, the average pressure output during this period can be 10% of the full supply pressure (e.g., 2 psig). In some implementations, I / P driver 204 is coupled to I / P transducer 208, and I / P driver 206 is coupled to I / P transducer 210. In other implementations, such as when I / P drivers 204 and 206 are software modules within valve controller 202, valve controller 202 is coupled to I / P transducers 208 and 210.
[0039] Supply relay 212 can receive a PWM pressure signal from I / P transducer 208 and supply a supply flow to actuator 12 according to the PWM pressure signal. Discharge relay 214 can receive a PWM pressure signal from I / P transducer 210 and obtain a discharge flow from actuator 12 according to the PWM pressure signal. For example, supply relay 212 can open at time intervals when I / P transducer 208 provides pressure and can close at time intervals when I / P transducer 208 does not provide pressure. Discharge relay 214 can open at time intervals when I / P transducer 210 provides pressure and can close at time intervals when I / P transducer 210 does not provide pressure.
[0040] The valve stroke sensor 216 can continuously or periodically (e.g., every millisecond, every 0.070 seconds, etc.) acquire the current valve stroke value indicating the valve's stroke and / or the current pressure value indicating the amount of pressure at the actuator in the valve. When the valve is fully closed, the valve stroke can be 0; when the valve is fully open, the valve stroke can be 100; when the valve is partially open, the valve stroke can be any suitable value between 0 and 100.
[0041] Figure 3 Exemplary graphs of the PWM current signal 300 and the PWM pressure signal 350 provided by the valve controller 202 and I / P transducer 208, respectively, are illustrated. As described above, the valve controller 202 can generate a drive signal (e.g., 0.2) and provide this drive signal to the I / P driver 204, which can generate the PWM current signal 300 based on the drive signal. In some implementations, the I / P driver 204 may be included within the valve controller 202. In any case, the PWM current signal 300 has a time interval of 0.070 seconds. The I / P driver 204 can generate a current value higher than a threshold maximum current level over a first time interval set occurring between the start of the time interval and 0.014 seconds after the start of the time interval, and can generate a current value lower than a threshold minimum current level over a second time interval set occurring between 0.014 seconds after the start of the time interval and the end of the time interval.
[0042] I / P transducer 208 can receive PWM current signal 300 and generate PWM pressure signal 350 based on the PWM current signal. For example, during time intervals where the PWM current signal includes a current value above a threshold maximum current level, I / P transducer 208 can provide full supply pressure (e.g., 20 psig), and during time intervals where the PWM current signal includes a current value below a threshold minimum current level, I / P transducer 208 can provide zero supply pressure. The duty cycle of PWM pressure signal 350 is 20%, so the average pressure provided by I / P sensor 208 during this period is 20% of the full supply pressure, 4 psig.
[0043] Figures 4A-4C Graphs illustrating exemplary PWM pressure signals provided to supply relay 212 and discharge relay 214 when the drive signal from valve controller 202 is 0.2, 0, and -0.2 are shown. In exemplary graph 400, the drive signal provided from valve controller 202 is 0.2. As a result, supply relay 212 is open for 20% of the time period and closed for the remaining 80% of the time period. Discharge relay 214 remains closed for the entire time period. In exemplary graph 440, the drive signal provided from valve controller 202 is 0. As a result, supply relay 212 and discharge relay 214 remain closed for the entire time period. In exemplary graph 480, the drive signal provided from valve controller 202 is -0.2. As a result, discharge relay 214 is open for 20% of the time period and closed for the remaining 80% of the time period. Supply relay 212 remains closed for the entire time period.
[0044] To determine the drive signal provided to I / P drivers 204, 206, valve controller 202 can compare a setpoint value with a current valve stroke or current pressure value, as determined by valve stroke sensor 216. If the setpoint value is greater than the current valve stroke or pressure value by a threshold dead zone value (e.g., 0.1%), valve controller 202 can provide a positive drive signal between 0 and 1. If the setpoint value is less than the current valve stroke or pressure value by a threshold dead zone value, valve controller 202 can provide a negative drive signal between 0 and -1. If the difference between the setpoint value and the current valve stroke or pressure value is less than the threshold dead zone value, valve controller 202 can provide a drive signal of 0.
[0045] Additionally, supply and discharge relays 212, 214 may require a minimum threshold pressure before opening to provide supply flow or receive discharge flow from actuator 12. Valve controller 202 can identify the minimum threshold pressure and provide a drive signal based on the minimum threshold pressure to move the valve travel or pressure value toward a setpoint (also referred to herein as the "relay start point"). For example, Figure 5A and Figure 5BExemplary graphs 500 and 550, illustrating the relay supply flow and relay discharge flow as a function of relay control pressure, are provided respectively. In exemplary graph 500, the relay control pressure supplying relay 212 is approximately 8 psig before the relay supply flow is provided to actuator 12. As a result, valve controller 202 can provide a drive signal corresponding to at least 8 psig to increase valve stroke. If the full supply pressure is 20 psig, the drive signal can be 0.4. In exemplary graph 550, the relay control pressure discharging relay 212 is approximately 14 psig before the relay discharge flow is provided from actuator 12. As a result, if the full supply pressure is 20 psig, valve controller 202 can provide a drive signal corresponding to at least 6 psig or 0.3 to reduce valve stroke.
[0046] This document discusses the drive signal, setpoint value, and sensor data from valve stroke sensor 216 with reference to valve stroke, such that valve stroke sensor 216 acquires the current valve stroke value, the setpoint value is the setpoint valve stroke value, and the drive signal is generated based on the difference between the current valve stroke value and the setpoint valve stroke value. However, the drive signal, setpoint value, and sensor data from valve stroke sensor 216 can also be based on the pressure value in the valve, such that valve stroke sensor 216 acquires the current valve pressure value, the setpoint value is the setpoint pressure value, and the drive signal is generated based on the difference between the current pressure value and the setpoint pressure value. Therefore, as used herein, the setpoint value can refer to either the setpoint valve stroke value or the setpoint pressure value. Sensor data from valve stroke sensor 216 can include the current valve stroke value or the current pressure value at the valve, and the drive signal can be based on the difference between the current valve stroke value and the setpoint valve stroke value or the difference between the current pressure value and the setpoint pressure value. Therefore, although each feature of the digital positioner 14 (e.g., relay start point identification, Armageddon damping, dead zone adaptation, high / low cut-off, anti-windup with respect to supply pressure loss, and erroneous direction corrector) is described below with reference to valve stroke, these features can also be performed using the current pressure value at the valve and the setpoint pressure value.
[0047] Larger changes in the stroke operating point cause changes in the relay starting point, which requires more time for the digital positioner 14 to converge to the appropriate value. This migration is due to the drift of the corresponding relay starting point as a function of the relay output pressure and can change based on actuator design or natural operation, as well as variations in the relay components. Furthermore, when the valve controller 202 initially begins operation, the corresponding supply and discharge starting points are unknown, and it can take a considerable amount of time for the relay starting point identification process to converge to values useful for both the supply and discharge starting points. During this initial convergence time, the valve stroke may be noticeably closed, and good positioning control is only possible after the appropriate values for the supply and discharge starting points have converged to their respective relay starting point values. To improve the response of the valve controller 202 in the event of output pressure-based drift, a static deviation value is included, which uses data collected during the calibration of the valve controller 202 to compensate for output-related drift.
[0048] Relay start point identification
[0049] To determine the relay starting point or minimum threshold pressure to open supply relay 212 and discharge relay 214, valve controller 202 can perform a calibration technique. An exemplary calibration technique may include providing digital positioner 14 with multiple predetermined setpoint values (e.g., 90%, 50%, and 10%) at different time intervals. At each setpoint value, a small modulation is added to provide a drive signal for supply relay 212 and discharge relay 214 at each setpoint value. For example, when the first setpoint value is 90%, valve controller 202 may oscillate the setpoint value between 90% and 91% to provide a drive signal for supply relay 212 and discharge relay 214 near the 90% setpoint value. Valve controller 202 can then determine the variation in the drive signal of supply relay 212 and discharge relay 214 across different setpoint values, which can be used to determine the relay starting point for a particular setpoint value.
[0050] Figure 6A An exemplary graph illustrating the setpoint and valve stroke values as a function of time is shown for calibrating the digital valve positioner 14. In the exemplary graph, the setpoint varies from above 100% to 90%. The setpoint then oscillates between 90% and 91%. The setpoint then drops to 50% and oscillates between 50% and 51%. Next, the setpoint drops to 10% and oscillates between 10% and 11%. Figure 6B Examples of crossing Figure 6AExamples of drive signal values for supply relay 212 and discharge relay 214 at various setpoint values are shown in the graph. When the setpoint oscillates between 10% and 11%, the drive signal to supply relay 212 to increase the valve stroke from 10% to 11% is approximately 0.5. When the setpoint oscillates between 10% and 11%, the drive signal to discharge relay 214 to decrease the valve stroke from 11% to 10% is approximately -0.18. When the setpoint oscillates between 50% and 51%, the drive signal to supply relay 212 to increase the valve stroke from 50% to 51% is approximately 0.58. When the setpoint oscillates between 50% and 51%, the drive signal to discharge relay 214 to decrease the valve stroke from 51% to 50% is approximately -0.13. When the setpoint oscillates between 90% and 91%, the drive signal to supply relay 212 to increase the valve stroke from 90% to 91% is approximately 0.62. When the setpoint oscillates between 90% and 91%, the drive signal to discharge relay 214 to reduce the valve stroke from 91% to 90% is approximately -0.11.
[0051] Valve controller 202 can generate a model of the function used to determine the supply relay drive signal and the discharge relay drive signal as setpoint values. In some implementations, the model can be a linear equation with a slope and an intercept. In other implementations, the model can be any other suitable equation or algorithm used to determine the supply relay drive signal and the discharge relay drive signal as setpoint values. In any case, valve controller 202 can determine the best-fit line for the supply relay drive signal and the discharge relay drive signal. Valve controller 202 can then store the slope (M) of the best-fit line for the supply relay drive signal. u ) and offset (B u ), and can store the slope (M) of the best-fit line for the emission relay drive signal. d ) and offset (B d When the valve controller 202 acquires a new setpoint value, the valve controller 202 can apply the new setpoint value to the slope and offset of the supply relay drive signal or the discharge relay drive signal to generate a drive signal.
[0052] In some implementations, the valve controller 202 can determine two best-fit lines for the supply relay drive signal and the discharge relay drive signal, wherein a first best-fit line is used when the setpoint of either the supply relay drive signal or the discharge relay drive signal is less than 50%, and a second best-fit line is used when the setpoint of either the supply relay drive signal or the discharge relay drive signal is greater than or equal to 50%. In this implementation, the valve controller 202 can store the slope (M) of the best-fit line for the supply relay drive signal when the setpoint is less than 50%.u1 ) and offset (B u1 When the setpoint is greater than or equal to 50%, the slope (M) of the best-fit line for the supply relay drive signal u2 ) and offset (B u2 When the setpoint is less than 50%, the slope (M) of the best-fit line for the discharge relay drive signal d1 ) and offset (B d1 ), and the slope of the best-fit line for the discharge relay drive signal when the setpoint is greater than or equal to 50% (M d2 ) and offset (B d2 When the valve controller 202 acquires a new setpoint value, the valve controller 202 can apply the new setpoint value to the model, such as the corresponding slope and offset, to generate a drive signal.
[0053] Therefore, the valve controller 202 can determine the drive signal by determining whether the setpoint value is significantly greater than the current valve stroke or pressure value by exceeding the threshold dead zone value, whether it is significantly smaller than the current valve stroke or pressure value by exceeding the threshold dead zone value, or whether the difference between the setpoint value and the current valve stroke or pressure value is less than the threshold dead zone value. If the setpoint value is significantly greater than the current valve stroke or pressure value by exceeding the threshold dead zone value, the valve controller 202 can determine the drive signal as M. u The product of the setpoint value and B u The sum. If the setpoint value is significantly larger than the current valve stroke or pressure value by exceeding the threshold dead zone value, the valve controller 202 can determine the drive signal as M. d The product of the setpoint value and B d sum.
[0054] In addition to determining the relay starting point to open the supply relay and discharge relay 212, 214 by performing calibration techniques, or as an alternative, the valve controller 202 may dynamically and / or in real-time or at least near real-time determine the relay starting point to open the supply relay 212 and discharge relay 214. The valve controller 202 dynamically determines the relay starting point by comparing the change in valve travel over a time period (e.g., 0.070 seconds) when the valve travel reaches the dead zone region with a threshold speed (e.g., 1.43% per second). The threshold speed may include a first threshold speed for the supply relay 212 and a second threshold speed for the discharge relay 214. In some implementations, the first and second threshold speeds are the same. In other implementations, the first and second threshold speeds are different. Furthermore, the threshold speed and / or the first and second threshold speeds may remain constant in several applications, including when the digital positioner 14 controls actuators with different internal volumes. In this way, the response characteristics of the digital positioner 14 can be the same for actuators of various internal volumes.
[0055] If the valve travel increases over time within the dead zone (e.g., ±0.1% of the setpoint value), the previous period was outside the dead zone, and the difference in valve travel over the period exceeds a threshold speed, then valve controller 202 can determine that the valve is traveling too fast and can reduce the dynamic relay start point by a first predetermined amount (e.g., 0.005). If the valve travel increases over time above the dead zone (e.g., greater than 0.1% of the setpoint value), the previous period was below the dead zone (e.g., less than 0.1% of the setpoint value), the difference in valve travel over the period exceeds a threshold speed, and the setpoint value does not change beyond the dead zone value within that period, then valve controller 202 can determine that the valve has completely crossed the dead zone in a single period and can reduce the dynamic relay start point by a second predetermined amount (e.g., 0.02) greater than the first predetermined amount. If the valve travel increases over time and the difference in valve travel over a period of time is less than 95% of the threshold speed, the valve controller 202 can determine that the valve is traveling too slowly and can increase the dynamic relay start point by a third predetermined amount (e.g., 0.004).
[0056] Figure 7A This is a flowchart of an exemplary method 700 for identifying the starting point value of the drive signal supplying relay 212. This method can be implemented by valve controller 202. At block 702, valve controller 202 acquires a setpoint value and a dead zone value (e.g., 0.1%). Then, at block 704, valve controller 202 acquires the valve stroke value from valve stroke sensor 216. Valve stroke sensor 216 can provide the current valve stroke value at each time interval (e.g., 0.070 seconds).
[0057] At block 706, valve controller 202 can determine whether the valve travels too fast when entering the dead zone region from a valve travel value below a setpoint value. If the valve travel increases over time, within the dead zone region (e.g., ±0.1% of the setpoint value), the valve travel difference over the previous period outside the dead zone region exceeds the threshold speed (e.g., the first threshold speed), and the current dynamic relay start point (e.g., startsupplyrelay) and the calibrated relay start point (e.g., M) are also considered. u *Set point value + B u If the sum of the values is greater than 0, then controller 202 can determine that the valve is traveling too fast and can reduce the dynamic relay starting point by a first predetermined amount (e.g., 0.005) (box 712).
[0058] At block 708, valve controller 202 can determine whether the valve has completely crossed the dead zone from a valve travel value below a setpoint value within a single time period. If the valve travel increases over time above the dead zone (e.g., greater than 0.1% of the setpoint value), was below the dead zone in a previous time period (e.g., less than 0.1% of the setpoint value), the difference in valve travel over the time period exceeds a threshold speed, the setpoint value has not changed beyond the dead zone value within the time period, and the current dynamic relay start point (e.g., startsupplyrelay) and the calibrated relay start point (e.g., M) are both considered. u *Set point value + B u If the sum of the values is greater than 0, then valve controller 202 can determine that the valve has completely crossed the dead zone region in a single time period, and can reduce the dynamic relay start point by a second predetermined amount (e.g., 0.02) that is greater than the first predetermined amount (box 714).
[0059] At box 710, valve controller 202 can determine whether the valve is traveling too slowly from a valve travel value below a setpoint value. If the valve travel increases over time, the difference in valve travel over time is less than 95% of the threshold speed but greater than 0, and the current dynamic relay start point (e.g., startsupplyrelay) is less than 1, then valve controller 202 can determine that the valve is traveling too slowly and can increase the dynamic relay start point by a third predetermined amount (e.g., 0.004) (box 716).
[0060] Figure 7B This is a flowchart of an exemplary method 750 for identifying the starting point value of the drive signal for discharge relay 214. This method can be implemented by valve controller 202. At block 752, valve controller 202 acquires a setpoint value and a dead zone value (e.g., 0.1%). Then, at block 754, valve controller 202 acquires the valve stroke value from valve stroke sensor 216. Valve stroke sensor 216 can provide the current valve stroke value at each time interval (e.g., 0.070 seconds).
[0061] At box 756, valve controller 202 can determine whether the valve travels too fast when entering the dead zone from a valve travel value above a setpoint value. If the valve travel decreases over time, within the dead zone (e.g., ±0.1% of the setpoint value), the difference in valve travel over the previous period outside the dead zone is less than a threshold speed (e.g., a second threshold speed) (i.e., more negative than the threshold speed), and the current dynamic relay start point (e.g., startexhaustrelay) and the calibrated relay start point (e.g., M) are both within the dead zone. d *Set point value + B dIf the sum of the values is less than 0, the valve controller 202 can determine that the valve is traveling too fast and can increase the dynamic relay start point by a first predetermined amount (e.g., 0.005) (box 762).
[0062] In block 758, valve controller 202 can determine whether the valve has completely crossed the dead zone from a valve travel value above a setpoint value in a single time period. If the valve travel decreases over time, falls below the dead zone (e.g., less than 0.1% of the setpoint value), was above the dead zone in a previous time period (e.g., greater than 0.1% of the setpoint value), the difference in valve travel over the time period is less than a threshold speed (i.e., more negative than the threshold speed), the setpoint value has not changed over the time period beyond the dead zone value, and the current dynamic relay start point (e.g., startexhaustrelay) and the calibrated relay start point (e.g., M...) are both... d *Set point value + B d If the sum of the values is less than 0, the valve controller 202 can determine that the valve has completely crossed the dead zone region in a single time period, and can increase the dynamic relay start point by a second predetermined amount (e.g., 0.02) that is greater than the first predetermined amount (box 764).
[0063] At box 760, valve controller 202 can determine whether the valve is traveling too slowly from a valve travel value higher than a setpoint value. If the valve travel decreases over time, the difference in valve travel over a time period is greater than 95% of the threshold speed (i.e., not more negative than 95% of the threshold speed) but less than 0, and the current dynamic relay start point (e.g., startexhaustrelay) is greater than -1, then valve controller 202 can determine that the valve is traveling too slowly and can increase the dynamic relay start point by a third predetermined amount (e.g., 0.004) (box 766).
[0064] In some implementations, valve controller 202 can determine the relay starting point for opening supply relay 212 and discharge relay 214 based on a combination of a relay starting point determined using calibration techniques and a dynamically determined relay starting point. For example, valve controller 202 can determine the relay starting point for a specific setpoint value as the relay starting point determined using calibration techniques (e.g., M). u *Set point value + B u Or M d *Set point value + B d The sum of the relay start point and the dynamically determined relay start point (e.g., startsupplyrelay or startexhaustrelay).
[0065] Armageddon damping
[0066] In some implementations, to protect the digital positioner 14 from valve stroke variations exceeding the digital positioner's ability to adequately respond to or stop the rate of valve stroke variation at an unacceptably high level, the valve controller 202 can detect rapid valve stroke variations and reset the drive signal. More specifically, the valve controller 202 can determine the valve stroke variation over a time period, and if the valve stroke variation over that time period exceeds a threshold amount (e.g., ±70% per time period or ±1000% / second), the valve controller 202 can reset the drive signal to zero and can also reset the dynamic relay supply start point and the dynamic relay discharge start point to zero.
[0067] Figure 8 This is a flowchart of an exemplary method 800 for identifying the starting point values of supply relay 212 and discharge relay 214. Method 800 can be implemented by valve controller 202. At block 802, valve controller 202 acquires a setpoint value and a dead zone value (e.g., 0.1%). Then, at block 804, valve controller 202 acquires the valve stroke value from valve stroke sensor 216. Valve stroke sensor 216 can provide the current valve stroke value at each time interval (e.g., 0.070 seconds).
[0068] At block 806, valve controller 202 compares the current valve stroke with the valve stroke from a previous time period. If the change in valve stroke over the time period exceeds a threshold amount (e.g., ±70% per time period or ±1000% / second), valve controller 202 may reset the drive signal to zero and may also reset the dynamic relay supply start point and the dynamic relay discharge start point to zero (block 824). Otherwise, valve controller 202 may determine whether the error, which is the difference between the setpoint value and the current valve stroke, is greater than the dead zone value (block 808).
[0069] If valve controller 202 determines that the error is greater than the dead zone value, the current valve stroke is outside the dead zone region and approaches the dead zone region from below the setpoint value. If the setpoint value is less than 50% (box 810), valve controller 202 can determine the drive signal as a relay start point (e.g., M) determined using calibration techniques for setpoint values less than 50%. u1 *Set point value + B u1 The sum of the setpoint value and the dynamically determined relay start point (e.g., startsupplyrelay) (box 812). If the setpoint value is greater than or equal to 50% (box 810), the valve controller 202 can determine the drive signal as the relay start point (e.g., M) determined using calibration techniques for setpoint values greater than or equal to 50%. u2 *Set point value + B u2The sum of the error and the dynamically determined relay start point (e.g., startsupplyrelay) (box 814). The drive signal may also include feedback control proportional to the error and the rate of change of the controlled variable (e.g., proportional-derivative (PD) control). PD control may be the difference between the product of a first gain constant (e.g., 0.02), the difference between the error and the dead zone value, a second gain constant (e.g., 4), and a time period (e.g., 0.070 seconds) and the difference between the current valve stroke value and the valve stroke value of the previous time period. In other words, the formula for PD control may be:
[0070] PGainUp*(MIdeal*(error – dead zone)*time period –(current valve stroke – previous valve stroke)), where,
[0071] PGainUp is the first gain constant; and Mideaal is the second gain constant.
[0072] In some implementations, the drive signal can be a calibrated relay start point, a dynamic relay start point, and the sum of PD control values.
[0073] Valve controller 202 can also determine whether the error, which is the difference between the setpoint value and the current valve stroke, is less than the negative dead zone value (i.e., more negative than the negative dead zone value) (box 816). If valve controller 202 determines that the error is less than the negative dead zone value, the current valve stroke is outside the dead zone region and approaches the dead zone region from above the setpoint value. If the setpoint value is less than 50% (box 818), valve controller 202 can determine the drive signal as a relay start point (e.g., M) determined using calibration techniques for setpoint values less than 50%. d1 *Set point value + B d1 The sum of the setpoint value and the dynamically determined relay start point (e.g., startexhaustrelay) (box 820). If the setpoint value is greater than or equal to 50% (box 818), the valve controller 202 can determine the drive signal as the relay start point (e.g., M) determined using calibration techniques for setpoint values greater than or equal to 50%. d2 *Set point value + B d2 The sum of the error and the dynamically determined relay start point (e.g., startexhaustrelay) (box 822). The drive signal may also include feedback control proportional to the error and the rate of change of the controlled variable (e.g., proportional-derivative (PD) control). PD control may be the difference between the product of a first gain constant (e.g., 0.02), the difference between the error and the dead zone value, a second gain constant (e.g., 4), and a time period (e.g., 0.070 seconds) and the difference between the current valve stroke value and the valve stroke value of the previous time period. In other words, the formula for PD control may be:
[0074] PGainUp*(MIdeal*(error – dead zone)*time period –(current valve stroke – previous valve stroke)), where
[0075] PGainUp is the first gain constant; and
[0076] MIdeal is the second gain constant.
[0077] In some implementations, the drive signal can be a calibrated relay start point, a dynamic relay start point, and the sum of PD control values.
[0078] Dead zone adaptation
[0079] When the valve stroke is within the threshold dead zone of the setpoint value (e.g., if the dead zone is 0.1%, then the dead zone can be ±0.1% of the setpoint value), the valve controller 202 can set the drive signal to 0, thereby shutting off both the supply relay 212 and the discharge relay 214, keeping the actuator 12 in the same position. During this state, since the I / P transducers 208, 210 do not receive current input signals and the supply relays 212 and the discharge relays 214 do not receive pressure input signals, airflow leakage is minimized and mechanical wear on the I / P transducers 208, 210 and the supply relays 212 and the discharge relays 214 is reduced. The digital positioner 14 remains in this state until the error, which is the difference between the setpoint value and the valve stroke, is outside the dead zone.
[0080] In some cases, it may be desirable to automatically adjust the deadband value over time. For example, valve controller 202 can detect overshoot conditions where the valve stroke increases over time and reaches a value greater than the sum of the setpoint value and the deadband value, or where the valve stroke decreases over time and reaches a value less than the difference between the setpoint value and the deadband value. In response to detecting an overshoot condition, valve controller 202 can increment a crossing counter indicating the number of times an overshoot condition has occurred. If an overshoot condition occurs more than a threshold number (e.g., 2 times), valve controller 202 can increase the deadband value by a predetermined amount (e.g., 0.1%) and reset the crossing counter to zero. In this way, the likelihood of an overshoot condition is reduced by increasing the deadband value.
[0081] Valve controller 202 can also detect undershoot conditions, wherein the valve stroke increases over time but does not exceed a valve stroke value greater than the difference between the setpoint value and half the dead zone value, or the valve stroke decreases over time but does not reach a valve stroke value less than the sum of the setpoint value and half the dead zone value. In response to detecting an undershoot condition, valve controller 202 can increment a landing close counter indicating the number of times an undershoot condition has occurred. If the undershoot condition occurs more than a threshold number (e.g., 5 times), valve controller 202 can reduce the dead zone value by a predetermined amount (e.g., 0.1%) and reset the landing close counter to zero. In this way, the overdamped condition where the valve stroke cannot reach the setpoint value can be eliminated by reducing the dead zone value.
[0082] Figure 9A An exemplary graph 900 is shown illustrating the valve stroke value as a function of time compared to a setpoint value, wherein the digital valve positioner 14 has no overshoot or undershoot where the setpoint value exceeds the dead zone value. The valve controller 202 can detect overshoot or undershoot by determining that the valve stroke at a first time point t1 is within the dead zone region or within a threshold amount of the dead zone region (e.g., within 0.01% of the dead zone region), and comparing the valve stroke at a second time point t2 with the setpoint value and the dead zone value, wherein the second time point t2 occurs by a threshold amount of time following the first time point t1. In some implementations, the threshold amount of time may be proportional to the duration of the current and pressure signals (e.g., 0.070 seconds), such as three times the length of the duration (e.g., 0.21 seconds). Figure 9A In the example shown, the valve travel at the second time point t2, 0.21 seconds after the first time point t1, is very close to the setpoint value and does not indicate overshoot or undershoot, because the valve travel at t2 is greater than the difference between the setpoint value and half of the dead zone value, and less than the sum of the setpoint value and the dead zone value.
[0083] Figure 9B An exemplary graph 940 is shown illustrating the valve stroke value as a function of time compared to the setpoint value, where the digital valve positioner 14 overshoots the setpoint value by exceeding the dead zone value. In this example, the valve stroke at a second time point t2, 0.21 seconds after the first time point t1, is greater than the sum of the setpoint value and the dead zone value. Therefore, the valve controller 202 can increment a cross counter indicating the number of times an overshoot condition has occurred. If the number of overshoot conditions exceeds a threshold, the valve controller 202 can increment the dead zone value and reset the cross counter.
[0084] Figure 9CAn exemplary graph 980 illustrates the valve stroke value as a function of time compared to the setpoint value, where the digital valve positioner 14 undershoots the setpoint value by more than half of the dead zone value. In this example, the valve stroke at a second time point t2, 0.21 seconds after the first time point t1, is less than the difference between the setpoint value and half of the dead zone value. Accordingly, the valve controller 202 may increment a landing close counter indicating the number of times an undershoot condition has occurred. If the undershoot condition occurs more than a threshold number of times, the valve controller 202 may decrease the dead zone value and reset the landing close counter.
[0085] Figure 10A This is a flowchart of an exemplary method 1000 for adjusting the dead zone value over time to reduce the dead zone value when the undershoot setpoint value of the digital valve positioner 14 reaches a value exceeding half of the dead zone value. Method 1000 can be implemented by a valve controller 202. At block 1002, the valve controller 202 acquires the setpoint value and the dead zone value (e.g., 0.1%). Then, at block 1004, the valve controller 202 acquires the valve stroke value from a valve stroke sensor 216. The valve stroke sensor 216 can provide the current valve stroke value at each time interval (e.g., 0.070 seconds).
[0086] At block 1006, valve controller 202 can determine whether the valve travel increases over time and has reached the dead zone after being below it during a previous time period. If the valve travel increases over time and has reached the dead zone after being below it during a previous time period, valve controller 202 can determine whether an undershoot condition has occurred (block 1008). More specifically, when determining that the valve travel at a first time point t1 is within a threshold amount of the dead zone (e.g., within 0.01% of the dead zone), valve controller 202 compares the valve travel at a second time point t2 with the setpoint value and the dead zone value, where the second time point t2 occurs by a threshold amount of time after the first time point t1. In some implementations, the threshold amount may be proportional to the time period of the current and pressure signals (e.g., 0.070 seconds), such as three times the length of the time period (e.g., 0.21 seconds).
[0087] If the valve stroke at the second time point t2 is less than the difference between the setpoint value and half of the dead zone value, and the dead zone value exceeds the minimum threshold dead zone value (e.g., 0.1%), then valve controller 202 increments the landing close counter and resets the cross counter to zero (box 1010). Valve controller 202 then determines whether the landing close counter is greater than or equal to a threshold value (e.g., 5) and whether the dead zone value is higher than the minimum threshold dead zone value (e.g., 0.1%) (box 1012). If the landing close counter is greater than or equal to the threshold value and the dead zone value is higher than the threshold value, then valve controller 202 may decrease the dead zone value by a predetermined amount (e.g., 0.1%) and reset the landing close counter to zero (box 1014). Valve controller 202 may choose not to decrease the dead zone value below the minimum threshold dead zone value.
[0088] If the landing close counter is not greater than or equal to the threshold value, the valve controller 202 can acquire the valve stroke at a subsequent time point, which occurs a threshold amount of time after the previous time point. The valve controller 202 then compares the valve stroke at the subsequent time point with the difference between the setpoint value and half of the dead zone value to determine whether to increment the landing close counter again.
[0089] Figure 10B This is a flowchart of an exemplary method 1050 for increasing the dead zone value over time when the overshoot setpoint value of a digital valve positioner 14 exceeds the dead zone value. Method 1050 can be implemented by a valve controller 202. At block 1052, the valve controller 202 acquires the setpoint value and the dead zone value (e.g., 0.1%). Then, at block 1054, the valve controller 202 acquires the valve stroke value from a valve stroke sensor 216. The valve stroke sensor 216 can provide the current valve stroke value at each time interval (e.g., 0.070 seconds).
[0090] At box 1056, valve controller 202 determines whether the valve travel increases over time and reaches a value at a second time point t2 that is greater than the sum of the setpoint value and the dead zone value. The second time point t2 is a threshold amount of time (e.g., three time intervals or 0.21 seconds) after the valve travels through the first time point t1 into the dead zone region. If the valve travel at the second time point t2 is greater than the sum of the setpoint value and the dead zone value, and the setpoint value does not change beyond the dead zone value during the threshold amount of time, valve controller 202 increments the cross counter and resets the landing close counter to zero (box 1058). Valve controller 202 then determines whether the cross counter is greater than or equal to a threshold value (e.g., 2) and whether the dead zone value is lower than a maximum threshold dead zone value (e.g., 3.2%) (box 1060). If the cross counter is greater than or equal to the threshold value and the dead zone value is lower than the maximum threshold dead zone value, valve controller 202 may increment the dead zone value by a predetermined amount (e.g., 0.1%) and reset the cross counter to zero (box 1062). Valve controller 202 may not increase the dead zone value above the maximum threshold dead zone value.
[0091] If the cross counter is not greater than or equal to the threshold value, the valve controller 202 can acquire the valve stroke at a subsequent time point, which occurs within the threshold time amount after the previous time point. The valve controller 202 then compares the valve stroke at the subsequent time point with the sum of the setpoint value and the dead zone value to determine whether to increment the cross counter again.
[0092] High / Low Cut
[0093] When the setpoint value reaches or exceeds 100% corresponding to a fully open valve, or when the setpoint value is less than or equal to 0% corresponding to a fully closed valve, the valve controller 202 can saturate the drive signal and provide a drive signal of 1 or -1. In this way, the valve controller 202 does not need to generate a pulse current signal with a duty cycle less than 100% and greater than 0%, because in this case, the valve controller 202 does not need to prevent overshoot or undershoot. Instead, one of the I / P drivers 204, 206 provides maximum current to the corresponding I / P transducer 208, 210, and the corresponding I / P transducer 208, 210 provides maximum pressure to the supply relay 212 or the discharge relay 214. This prevents the digital positioner 14 from continuing pulse operation when the valve stroke reaches the physical limits of 0% and 100%, as continuing pulse operation at the physical limits is not useful and will lead to physical wear and damage to the components of the digital positioner 14.
[0094] When the setpoint value reaches or exceeds 100% or is less than or equal to 0%, the valve controller 202 can also set a saturation flag. For example, when the setpoint value reaches or exceeds 100%, the saturation flag can be set to 1, and when the setpoint value is less than or equal to 0%, the saturation flag can be set to -1. Then, when the saturation flag has been set and the setpoint value changes, the valve controller 202 can determine whether the new setpoint value is greater than a threshold amount (e.g., 0.5%) from the saturation setpoint value (0% or 100%). For example, when the saturation setpoint value is 100%, the valve controller 202 can determine whether the new setpoint value is less than 99.5%. When the saturation setpoint value is 0%, the valve controller 202 can determine whether the new setpoint value is greater than 0.5%. If the new setpoint value is not greater than the threshold amount from the saturation setpoint value and the saturation flag has been set, the valve controller 202 can continue to saturate the drive signal. If the new setpoint value is greater than a threshold amount from the saturation setpoint value, valve controller 202 can reset the saturation flag to 0, and if the new setpoint value is greater than the valve stroke, it sets the drive signal to the dynamic relay start point for supply relay 212, or if the new setpoint value is less than the valve stroke, it sets the drive signal to the dynamic relay start point for discharge relay 214. In other implementations, valve controller 202 can set the drive signal to a calibrated relay start point, or any suitable combination of a dynamic relay start point and a calibrated relay start point.
[0095] Figure 11 This is a flowchart of an exemplary method 1100 for saturating a drive signal when a setpoint value exceeds 100% or is less than 0%. Method 1100 can be implemented by a valve controller 202. At block 1102, the valve controller 202 acquires a setpoint value. Then, at block 1104, the valve controller 202 acquires a saturation flag, which can be 1, indicating that the setpoint value has reached or exceeded 100%; can be -1, indicating that the setpoint value is less than or equal to 0%; or can be 0, indicating that the setpoint value is between 0% and 100%.
[0096] At box 1106, valve controller 202 determines whether the setpoint value is greater than or equal to a maximum threshold value (e.g., 100%). If the setpoint value is greater than or equal to the maximum threshold value (e.g., 100%), valve controller 202 can generate a power supply relay PWM current signal corresponding to the maximum threshold value by, for example, setting a drive signal to 1, where a drive signal of 1 indicates a 100% duty cycle of the pressure signal going to supply relay 212, and can set a saturation flag to 1, which indicates that the supply relay PWM current signal is saturated to the maximum threshold value (box 1118).
[0097] If the setpoint value is not greater than or equal to 100% but is less than a threshold amount (e.g., 0.5%) from the saturation setpoint value (e.g., 99.5%), and the saturation flag has been set to “1” indicating that the setpoint value was previously greater than or equal to 100% (box 1108), then the valve controller 202 may continue to set the drive signal to “1” indicating a 100% duty cycle of the pressure signal to the relay 212 and may continue to set the saturation flag to “1” (box 1118).
[0098] On the other hand, if the setpoint value is greater than a threshold amount (e.g., 0.5%) from the saturation setpoint value (e.g., 99.5%), and the saturation flag has been set to "1" indicating that the setpoint value was previously greater than or equal to 100% (box 1110), the valve controller 202 can reset the saturation flag to 0 and generate a supply relay PWM current signal corresponding to the new setpoint value by, for example, setting the drive signal to the dynamic relay start point of the discharge relay 214, the calibrated relay start point of the discharge relay 214, or any suitable combination of the dynamic relay start point and the calibrated relay start point of the discharge relay 214.
[0099] At box 1112, valve controller 202 determines whether the setpoint value is less than or equal to a minimum threshold (e.g., 0%). If the setpoint value is less than or equal to the minimum threshold value (e.g., 0%), valve controller 202 can generate a discharge relay PWM current signal corresponding to the minimum threshold by, for example, setting the drive signal to “-1” indicating a 100% duty cycle of the pressure signal going to discharge relay 214, and can set the saturation flag to “-1” indicating that the discharge relay PWM current signal has saturated to the minimum threshold value (box 1122).
[0100] If the setpoint value is not less than or equal to 0% but is less than a threshold amount (e.g., 0.5%) from the saturation setpoint value (e.g., 0.5%), and the saturation flag has been set to "-1" (box 1114) indicating that the setpoint value was previously less than or equal to 0%, then the valve controller 202 may continue to set the drive signal to "-1" indicating a 100% duty cycle of the pressure signal going to the discharge relay 214, and may continue to set the saturation flag to "-1" (box 1122).
[0101] On the other hand, if the setpoint value is more than a threshold amount (e.g., 0.5%) away from the saturation setpoint value (e.g., 0.5%), and the saturation flag has been set to "-1" (box 1116) indicating that the setpoint value was previously less than or equal to 0%, the valve controller 202 can reset the saturation flag to 0 and generate a discharge relay PWM current signal corresponding to the new setpoint value by, for example, setting the drive signal to the dynamic relay start point of the supply relay 212, the calibrated relay start point of the supply relay 212, or any combination of the dynamic relay start point and the calibrated relay start point of the supply relay 212. Furthermore, if the saturation flag is 0 or has not been set, the valve controller 202 can compare the setpoint value with a maximum threshold value (e.g., 100%) and a minimum threshold value (e.g., 0%) to determine the supply relay PWM current signal and the discharge relay PWM current signal to be generated.
[0102] Anti-windup regarding supply pressure loss
[0103] In some cases, the supply pressure source in the digital positioner 14 may not provide sufficient pressure to move the actuator 12 toward the setpoint value. In these cases, the valve controller 202 may continue to increase the drive signal to provide additional pressure to the actuator 12. For example, as referenced above... Figures 7A-7B If the valve stroke changes less than a threshold rate (e.g., 1.43% per second) within a time period (0.070 seconds), the valve controller 202 may increase the drive signal. When the supply pressure from the supply pressure source returns to a pressure value that allows the valve stroke to reach the setpoint value, the valve controller 202 may experience a wind-up condition where the valve stroke changes too rapidly, which could cause the digital positioner 14 to overshoot the setpoint value.
[0104] To prevent a wind-up condition, valve controller 202 can determine whether the change in valve stroke over a period of time is greater than a threshold amount (e.g., ±1% per period) and whether the drive signal exceeds a threshold drive signal (e.g., ±0.98). If the change in valve stroke over that period of time is greater than the threshold amount and the drive signal exceeds the threshold drive signal, valve controller 202 can reset the dynamic relay start point of supply relay 212 or discharge relay 214 to 0.
[0105] Figure 12 This is a flowchart of an exemplary method 1200 for preventing overshoot from a wind-up condition. Method 1200 can be implemented by a valve controller 202. At blocks 1202 and 1204, the valve controller 202 obtains the valve stroke value from a valve stroke sensor 216. The valve stroke sensor 216 can provide the current valve stroke value at each time interval (e.g., 0.070 seconds).
[0106] At block 1206, valve controller 202 determines whether the difference between the current valve stroke and the valve stroke from a previous period is greater than or equal to a first threshold amount (e.g., 1%), and whether the drive signal exceeds a first threshold drive signal (e.g., 0.98). If the difference between the current valve stroke and the valve stroke from a previous period is greater than or equal to the first threshold amount and the drive signal exceeds the first threshold drive signal, valve controller 202 may reset the dynamic relay start point used to supply relay 212 to zero (block 1210).
[0107] At block 1208, valve controller 202 determines whether the difference between the current valve stroke and the valve stroke from a previous period is less than or equal to a second threshold amount (e.g., -1%) (i.e., more negative than the second threshold amount), and whether the drive signal is less than a second threshold drive signal (e.g., -0.98) (i.e., more negative than the second threshold drive signal). If the difference between the current valve stroke and the valve stroke from a previous period is less than or equal to the second threshold amount and the drive signal is less than the second threshold drive signal, then valve controller 202 may reset the dynamic relay start point for discharge relay 214 to zero (block 1212).
[0108] Error Corrector
[0109] In some situations, the valve may travel in the opposite direction to the setpoint value. For example, when the setpoint value is less than the valve stroke, the valve stroke may increase over time, or when the setpoint value is greater than the valve stroke, the valve stroke may decrease over time. The valve controller 202 can detect that the difference between the setpoint value and the valve stroke increases over time. Therefore, the valve moves in the wrong direction, and the valve controller 202 reverses the direction of valve movement.
[0110] Figure 13 This is a flowchart of an exemplary method 1300 for reversing the direction of valve travel when it is detected that the valve is traveling away from a setpoint value. Method 1300 can be implemented by a valve controller 202. At blocks 1302 and 1304, the valve controller 202 obtains the valve travel value from a valve travel sensor 216. The valve travel sensor 216 can provide the current valve travel value at each time interval (e.g., 0.070 seconds).
[0111] At block 1306, valve controller 202 determines whether the valve is traveling in the opposite direction to the setpoint value by determining whether the valve travel decreases over time (e.g., the difference between the current valve travel and the valve travel in a previous time period) and whether the valve travel is less than a setpoint value or the difference between the valve travel and the setpoint value is greater than a dead zone value. If the valve travel decreases over time and the valve travel is less than the setpoint value, valve controller 202 can set the drive signal to supply the dynamic relay start point of relay 212, the calibrated relay start point of relay 212 (e.g., by applying the setpoint value to the model), or any suitable combination of the dynamic relay start point and the calibrated relay start point of relay 212 (e.g., M). u1 *Set point value + B u1 +startsupplyrelay) (box 1310).
[0112] At box 1308, valve controller 202 determines whether the valve is traveling in the opposite direction to the setpoint value by determining whether the valve travel increases over time (e.g., the difference between the current valve travel and the valve travel in a previous period is greater than 0), and whether the valve travel is greater than a setpoint value or the difference between the setpoint value and the valve travel is less than a negative dead zone value (i.e., more negative than the negative dead zone value). If the valve travel increases over time and the valve travel is greater than the setpoint value, valve controller 202 can set the drive signal to the dynamic relay start point of discharge relay 214, the calibrated relay start point of discharge relay 214 (by, for example, applying the setpoint value to a model), or any suitable combination of the dynamic relay start point and the calibrated relay start point of discharge relay 214 (e.g., M). d1 *Set point value + B d1 +startexhaustrelay)(box 1310).
[0113] Embodiments of the technology described in this disclosure may include any and several of the following aspects, either individually or in combination:
[0114] 1. A digital positioner for a valve, comprising: a valve controller including: one or more processors; and a non-transitory computer-readable storage coupled to the one or more processors and storing instructions thereon, which, when executed by the one or more processors, cause the valve controller to perform the following operations: acquiring a setpoint value for a valve stroke or a pressure quantity at the valve; generating a drive signal as a function of the setpoint value, wherein the drive signal is adjusted according to a rate of change of the valve stroke or the valve pressure over a time period; and generating a pulse-width modulated current signal based on the drive signal; and a current-to-pressure converter configured to receive the pulse-width modulated current signal from the valve controller, convert the pulse-width modulated current signal into a pulse-width modulated pressure signal, and provide the pulse-width modulated pressure signal to a pneumatic actuator in the valve to adjust the position of the valve.
[0115] 2. The digital positioner according to aspect 1, wherein the instruction causes the valve controller to generate a first pulse-width modulated current signal and a second pulse-width modulated current signal, wherein the current-to-pressure converter includes a first current-to-pressure converter and a second current-to-pressure converter, the first current-to-pressure converter being configured to receive the first pulse-width modulated current signal and convert the first pulse-width modulated current signal into a first pulse-width modulated pressure signal, the second current-to-pressure converter being configured to receive the second pulse-width modulated current signal and convert the second pulse-width modulated current signal into a second pulse-width modulated pressure signal, and the digital positioner further includes: a supply relay configured to receive the first pulse-width modulated pressure signal from the first current-to-pressure converter and provide the first pulse-width modulated pressure signal to a supply port of the pneumatic actuator in the valve to increase the valve stroke or the valve pressure; and a discharge relay configured to receive the second pulse-width modulated pressure signal from the second current-to-pressure converter and discharge the pneumatic actuator in the valve according to the second pulse-width modulated pressure signal to decrease the valve stroke or the valve pressure.
[0116] 3. The digital positioner according to any one of aspect 1 or aspect 2, wherein the instructions further cause the valve controller to perform the following operations: generating a first pulse-width modulated current signal according to the drive signal; generating a second pulse-width modulated current signal according to the drive signal; providing the first pulse-width modulated current signal to the first current-to-pressure converter; and providing the second pulse-width modulated current signal to the second current-to-pressure converter.
[0117] 4. The digital positioner according to any one of the preceding aspects further includes: a valve stroke sensor configured to acquire a current valve stroke value of the valve and provide the current valve stroke value to the valve controller.
[0118] 5. The digital positioner according to any one of the preceding aspects, wherein the instructions further cause the valve controller to perform the following operations: generating the drive signal at least in part based on a dynamic relay start point, the drive signal indicating a first pulse width modulated current signal and a second pulse width modulated current signal; determining a change in the valve stroke or the amount of pressure at the valve over a time period; and resetting the dynamic relay start point in response to determining that the drive signal exceeds a first threshold drive signal or is less than a second threshold drive signal and determining that the change in the valve stroke or valve pressure exceeds a threshold amount.
[0119] 6. A digital positioner according to any one of the preceding claims, wherein, in order to generate a drive signal as a function of the setpoint value, the drive signal is adjusted according to the rate of change of the valve stroke or the valve pressure over a time period, the instruction causes the valve controller to perform the following operations: acquiring a threshold dead zone value for the valve stroke or valve pressure; identifying a dead zone region of the valve stroke or valve pressure based on the threshold dead zone value and the setpoint value; comparing the rate of change of the valve stroke or valve pressure over the time period with a threshold velocity; and decreasing the value of the drive signal in response to determining that the rate of change of the valve stroke or valve pressure over the time period exceeds the threshold velocity and that the valve stroke or valve pressure is in the dead zone region.
[0120] 7. The digital locator according to any of the foregoing aspects, wherein the threshold speed includes a first threshold speed of the supply relay and a second threshold speed of the discharge relay.
[0121] 8. A digital positioner according to any of the foregoing aspects, wherein the instructions cause the valve controller to perform the following operations: in response to determining that the valve stroke increases over the time period, the rate of change of the valve stroke or valve pressure over the time period exceeds the first threshold speed of the supply relay, and the valve stroke or valve pressure is in the dead zone region, reducing the value of the drive signal by a first predetermined amount.
[0122] 9. A digital positioner according to any of the foregoing aspects, wherein the instructions cause the valve controller to perform the following operations: in response to determining that the valve stroke increases over the time period, the rate of change of the valve stroke or valve pressure over the time period exceeds the first threshold speed of the supply relay, and the valve stroke or valve pressure is higher than the dead zone region, reducing the value of the drive signal by a second predetermined amount.
[0123] 10. A digital positioner according to any of the foregoing aspects, wherein the instructions cause the valve controller to perform the following operations: in response to determining that the valve stroke increases over the time period and that the rate of change of the valve stroke or valve pressure over the time period is greater than a threshold amount below the first threshold speed of the supply relay, increasing the value of the drive signal by a third predetermined amount.
[0124] 11. A digital positioner according to any of the foregoing aspects, wherein the instructions cause the valve controller to perform the following operations: in response to determining that the valve stroke decreases over the time period, the magnitude of the rate of change of the valve stroke or valve pressure over the time period exceeds the magnitude of the second threshold speed of the discharge relay, and the valve stroke or valve pressure is in the dead zone region, increasing the value of the drive signal by a first predetermined amount.
[0125] 12. A digital positioner according to any of the foregoing aspects, wherein the instructions cause the valve controller to perform the following operations: in response to determining that the valve stroke decreases over the time period, the magnitude of the rate of change of the valve stroke or valve pressure over the time period exceeds the magnitude of the second threshold speed of the discharge relay, and the valve stroke or valve pressure is higher than the dead zone region, increasing the value of the drive signal by a second predetermined amount.
[0126] 13. A digital positioner according to any of the foregoing aspects, wherein the instructions cause the valve controller to perform the following operations: in response to determining that the valve stroke decreases over the time period and that the magnitude of the rate of change of the valve stroke or valve pressure over the time period is greater than a threshold amount greater than the magnitude of the second threshold speed of the discharge relay, the value of the drive signal is reduced by a third predetermined amount.
[0127] 14. A digital positioner according to any of the foregoing aspects, wherein the instructions cause the valve controller to perform the following operations: compare the current valve stroke or valve pressure value with a previous valve stroke or valve pressure value within the time period; and reset the drive signal to zero in response to determining that the difference between the current valve stroke or valve pressure value and the previous valve stroke or valve pressure value within the time period exceeds a threshold amount.
[0128] 15. A digital positioner for a valve, comprising: a valve controller including: one or more processors; and a non-transitory computer-readable storage coupled to the one or more processors and storing instructions thereon, which, when executed by the one or more processors, cause the valve controller to perform the following operations: acquiring a setpoint value for a valve stroke or a pressure quantity at the valve; generating a drive signal by: calibrating the digital positioner using a plurality of predetermined setpoints to generate a model for determining the drive signal as a function of the setpoint value, and applying the setpoint value to the model to determine a value of the drive signal; and generating a pulse-width modulated current signal based on the drive signal; and a current-to-pressure converter configured to receive the pulse-width modulated current signal from the valve controller, convert the pulse-width modulated current signal into a pulse-width modulated pressure signal, and provide the pulse-width modulated pressure signal to a pneumatic actuator in the valve to adjust the position of the valve.
[0129] 16. The digital positioner according to aspect 15 further includes: a valve stroke sensor configured to acquire a current valve stroke value of the valve and provide the current valve stroke value to the valve controller.
[0130] 17. A digital positioner according to any one of aspect 15 or aspect 16, wherein, in order to generate a model for determining the drive signal as the setpoint, the instructions cause the valve controller to perform the following operations: adjust a setpoint value for each of the plurality of predetermined setpoints; determine a change in the setpoint value across which the drive signal has been adjusted; and generate the model based on the change in the setpoint value across which the drive signal has been adjusted.
[0131] 18. A digital locator according to any one of aspects 15-17, wherein the model is a best-fit line having a slope and offset based on the drive signal as a function of a regulated setpoint value.
[0132] 19. A digital positioner according to any one of aspects 15-18, wherein, in order to apply the setpoint value to the model to determine the value of the drive signal, the instruction causes the valve controller to perform the following operation: apply the slope and the offset to the setpoint value to determine the value of the drive signal.
[0133] 20. A valve controller comprising: one or more processors; and a non-transitory computer-readable storage coupled to the one or more processors and storing instructions thereon, the instructions, when executed by the one or more processors, causing the valve controller to perform the following operations: acquiring a setpoint value for a valve stroke or a pressure quantity at the valve; acquiring a threshold dead zone value for the valve stroke or the pressure quantity; adjusting the threshold dead zone value based on a change in the valve stroke value over time or a change in the pressure value over time; generating a drive signal based on the setpoint value and the adjusted threshold dead zone value; generating a pulse-width modulated current signal according to the drive signal; and providing the pulse-width modulated current signal to a current-to-pressure converter, the current-to-pressure converter converting the pulse-width modulated current signal into a pulse-width modulated pressure signal and providing the pulse-width modulated pressure signal to a pneumatic actuator in the valve to adjust the position of the valve.
[0134] 21. The valve controller according to aspect 20, wherein, in order to adjust the threshold dead zone value based on a change in valve stroke value over time or a change in pressure value over time, the instruction causes the valve controller to perform the following operations: comparing the difference between the setpoint value and the current valve stroke or valve pressure value with the threshold dead zone value; determining that the current valve stroke or valve pressure value is within the dead zone region of the setpoint value when the difference between the setpoint value and the current valve stroke or valve pressure value is less than the threshold dead zone value; and adjusting the threshold dead zone value over time based on a difference between a subsequent valve stroke or valve pressure value and the current valve stroke or valve pressure value in response to determining that the current valve stroke or valve pressure value is within the dead zone region.
[0135] 22. A valve controller according to any one of aspects 20 or 21, wherein, in order to adjust the threshold dead zone value over time, the instruction causes the valve controller to perform the following operation: in response to determining that the subsequent valve stroke or valve pressure value exceeds the sum of the setpoint value and the threshold dead zone value, increasing the threshold dead zone value.
[0136] 23. A valve controller according to any one of aspects 20-22, wherein, in order to adjust the threshold dead zone value over time, the instruction causes the valve controller to perform the following operations: comparing the difference between the setpoint value and the subsequent valve stroke or valve pressure value with the threshold dead zone value; and decreasing the threshold dead zone value in response to determining that the difference between the setpoint value and the subsequent valve stroke or valve pressure value is greater than half of the threshold dead zone value.
[0137] 24. A valve controller according to any one of aspects 20-23, wherein the instructions cause the valve controller to perform the following operations: acquiring a plurality of subsequent valve stroke or valve pressure values after a threshold time period; for each of the plurality of subsequent valve stroke or valve pressure values, incrementing a counter in response to determining that the difference between the setpoint value and the subsequent valve stroke or valve pressure value is greater than half of the threshold dead zone value; and decrementing the threshold dead zone value in response to determining that the counter exceeds a threshold value.
[0138] 25. A digital positioner for a valve, comprising: a valve controller including: one or more processors; and a non-transitory computer-readable storage coupled to the one or more processors and storing instructions thereon, the instructions, when executed by the one or more processors, causing the valve controller to perform the following operations: acquiring a setpoint value for a valve stroke or a pressure quantity at the valve; comparing the setpoint value with a maximum threshold value or a minimum threshold value; generating a drive signal corresponding to the maximum threshold value or the minimum threshold value in response to determining that the setpoint value exceeds the maximum threshold value or is less than the minimum threshold value; setting a saturation flag indicating that the drive signal saturates to the maximum threshold value or the minimum threshold value; and generating a pulse-width modulated current signal based on the drive signal; and a current-to-pressure converter configured to receive the pulse-width modulated current signal from the valve controller, convert the pulse-width modulated current signal into a pulse-width modulated pressure signal, and provide the pulse-width modulated pressure signal to a pneumatic actuator in the valve to adjust the position of the valve.
[0139] 26. The digital positioner according to aspect 25, wherein the instructions cause the valve controller to perform the following operations: compare the setpoint value with the maximum threshold value; and in response to determining that the setpoint value exceeds the maximum threshold value: generate the drive signal corresponding to the maximum threshold value; and set a saturation flag indicating that the drive signal is saturated to the maximum threshold value.
[0140] 27. A digital positioner according to any one of aspects 25 or 26, wherein the instructions cause the valve controller to perform the following operations: acquire a new setpoint value; in a first case, in response to determining that a saturation flag indicating that the drive signal is saturated to the maximum threshold value has been set: compare the new setpoint value with a threshold amount below the maximum threshold value; and in response to determining that the new setpoint value is smaller than the threshold amount below the maximum threshold value, reset the saturation flag and generate a drive signal corresponding to the new setpoint value; and in a second case, in response to determining that the saturation flag has not been set, compare the new setpoint value with the maximum threshold value to determine the drive signal to be generated.
[0141] 28. A digital positioner according to any of aspects 25-27, wherein the instructions cause the valve controller to perform the following operations: compare the setpoint value with the minimum threshold value; and in response to determining that the setpoint value is less than the minimum threshold value: generate the drive signal corresponding to the minimum threshold value; and set the saturation flag, which indicates that the drive signal is saturated to the minimum threshold value.
[0142] 29. A digital positioner according to any one of aspects 25-28, wherein the instructions cause the valve controller to perform the following operations: acquiring a new setpoint value; in a first case, in response to determining that a saturation flag indicating that the pulse width modulation current signal has been set to saturate to the minimum threshold value: comparing the new setpoint value with a threshold amount higher than the minimum threshold value; and in response to determining that the new setpoint value is greater than the threshold amount higher than the minimum threshold value, resetting the saturation flag and generating a drive signal corresponding to the new setpoint value; and in a second case, in response to determining that the saturation flag has not been set, comparing the new setpoint value with the minimum threshold value to determine the drive signal to be generated.
[0143] 30. A digital positioner according to any one of aspects 25-29, wherein the instruction causes the valve controller to generate a first pulse-width modulated current signal and a second pulse-width modulated current signal, wherein the current-to-pressure converter includes a first current-to-pressure converter and a second current-to-pressure converter, the first current-to-pressure converter being configured to receive the first pulse-width modulated current signal and convert the first pulse-width modulated current signal into a first pulse-width modulated pressure signal, the second current-to-pressure converter being configured to receive the second pulse-width modulated current signal and convert the second pulse-width modulated current signal into a second pulse-width modulated pressure signal, and the digital positioner further includes: a supply relay configured to receive the first pulse-width modulated pressure signal from the first current-to-pressure converter and provide the first pulse-width modulated pressure signal to a supply port of a pneumatic actuator in the valve to increase the valve stroke or the pressure of the valve; and a discharge relay configured to receive the second pulse-width modulated pressure signal from the second current-to-pressure converter and discharge the pneumatic actuator in the valve according to the second pulse-width modulated pressure signal to decrease the valve stroke or the pressure of the valve.
[0144] 31. A digital positioner according to any one of aspects 25-30, wherein the instructions further cause the valve controller to perform the following operations: generating a first pulse-width modulated current signal according to the drive signal; generating a second pulse-width modulated current signal according to the drive signal; providing the first pulse-width modulated current signal to the first current-to-pressure converter; and providing the second pulse-width modulated current signal to the second current-to-pressure converter.
[0145] 32. The digital positioner according to any one of aspects 25-31 further includes: a valve stroke sensor configured to acquire a current valve stroke value of the valve and provide the current valve stroke value to the valve controller.
[0146] 33. A valve controller comprising: one or more processors; and a non-transitory computer-readable storage coupled to the one or more processors and storing instructions thereon, which, when executed by the one or more processors, cause the valve controller to perform the following operations: acquiring a setpoint value for a valve stroke or a pressure quantity at the valve; identifying a change in the valve stroke or the pressure quantity at the valve such that the difference between the valve stroke or the pressure quantity at the valve and the setpoint value increases over time; generating a drive signal that reverses the direction of the valve stroke; generating a pulse-width modulated current signal based on the drive signal; and providing the pulse-width modulated current signal to a current-to-pressure converter, the current-to-pressure converter converting the pulse-width modulated current signal into a pulse-width modulated pressure signal and providing the pulse-width modulated pressure signal to a pneumatic actuator in the valve to adjust the position of the valve.
[0147] 34. The valve controller according to aspect 33, wherein, in order to generate a drive signal that reverses the direction of the valve stroke, the instructions cause the valve controller to perform the following operations: calibrating the digital positioner using a plurality of predetermined setpoints; calibrating the digital positioner using a plurality of predetermined setpoints to generate a model for determining the pulse-width modulated current signal as a function of the setpoint value; and applying the setpoint value to the model to determine the value of the drive signal.
[0148] 35. A valve controller according to any one of aspects 33 or 34, wherein the instructions further cause the valve controller to: generate a first pulse-width modulated current signal according to the drive signal; generate a second pulse-width modulated current signal according to the drive signal; provide a representation of the first pulse-width modulated current signal to the supply port of the pneumatic actuator in the valve to increase the valve stroke or the pressure of the valve; and provide a representation of the second pulse-width modulated current signal to discharge the pneumatic actuator in the valve according to the representation of the second pulse-width modulated current signal to decrease the valve stroke or the pressure of the valve.
[0149] 36. A valve controller according to any one of aspects 33-35, wherein the instructions further cause the valve controller to perform the following operations: determining that the setpoint value is less than the current valve stroke or valve pressure value; and in response to determining that the setpoint value is less than the current valve stroke or valve pressure value, generating a drive signal to discharge the pneumatic actuator in the valve.
[0150] 37. A valve controller according to any one of aspects 33-36, wherein the instructions further cause the valve controller to perform the following operations: determining that the setpoint value is greater than the current valve stroke or valve pressure value; and in response to determining that the setpoint value is greater than the current valve stroke or valve pressure value, generating a drive signal that causes the supply port of the pneumatic actuator in the valve to increase the valve stroke or the valve pressure by an amount.
[0151] When implemented in software, any applications, services, and engines described herein can be stored in any tangible, non-transitory computer-readable storage medium, such as on a disk, laser disk, solid-state storage device, molecular memory storage device, or other storage medium, in a computer or processor, etc. Although the exemplary systems disclosed herein are disclosed as including software and / or firmware and other components executing on hardware, it should be noted that such systems are merely illustrative and should not be considered limiting. For example, it is contemplated that any one or all of these hardware, software, and firmware components may be embodied solely in hardware, solely in software, or in any combination of hardware and software. Therefore, although the exemplary systems described herein are depicted as being implemented in software executing on the processor of one or more computer devices, those skilled in the art will readily understand that the examples provided are not the only way to implement such systems.
[0152] Therefore, although the invention has been described with reference to specific examples, these specific examples are for illustration only and not for limiting the invention. It will be apparent to those skilled in the art that any changes, additions or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the invention.
Claims
1. A digital positioner for a valve, characterized in that, include: Valve controller, comprising: One or more processors; and A non-transitory computer-readable storage device coupled to the one or more processors and storing instructions thereon that, when executed by the one or more processors, cause the valve controller to perform the following operations: Obtain the setpoint value for the valve stroke or the pressure at the valve; A drive signal is generated as a function of the setpoint value, wherein the drive signal is adjusted according to the rate of change of the valve stroke or valve pressure over a time period; and A pulse-width modulated current signal is generated based on the driving signal; and A current-to-pressure converter is configured to: receive the pulse-width modulated current signal from the valve controller, wherein the time period for the rate of change of the valve stroke or valve pressure corresponds to the time period of the pulse-width modulated current signal; convert the pulse-width modulated current signal into a pulse-width modulated pressure signal; and provide the pulse-width modulated pressure signal to a pneumatic actuator in the valve to adjust the position of the valve.
2. The digital locator according to claim 1, characterized in that, The instruction causes the valve controller to generate a first pulse-width modulated (PWM) current signal and a second pulse-width modulated (PWM) current signal. The current-to-pressure converter includes a first current-to-pressure converter and a second current-to-pressure converter. The first current-to-pressure converter is configured to receive the first PWM current signal and convert it into a first PWM pressure signal. The second current-to-pressure converter is configured to receive the second PWM current signal and convert it into a second PWM pressure signal. The digital positioner further includes: A supply relay configured to receive the first pulse-width modulated pressure signal from the first current-to-pressure converter and to provide the first pulse-width modulated pressure signal to the supply port of the pneumatic actuator in the valve to increase the valve stroke or the pressure of the valve; and A discharge relay is configured to receive the second pulse-width modulated pressure signal from the second current-to-pressure converter and discharge the pneumatic actuator in the valve according to the second pulse-width modulated pressure signal to reduce the valve stroke or the pressure of the valve.
3. The digital locator according to claim 2, characterized in that, The instruction also causes the valve controller to perform the following operations: A first pulse width modulated current signal is generated based on the driving signal; A second pulse-width modulated current signal is generated based on the driving signal; The first pulse width modulated current signal is provided to the first current-to-pressure converter; as well as The second pulse width modulated current signal is provided to the second current-to-pressure converter.
4. The digital locator according to claim 1, characterized in that, Also includes: A valve stroke sensor is configured to acquire the current valve stroke value and provide the current valve stroke value to the valve controller.
5. The digital locator according to claim 2, characterized in that, The instruction also causes the valve controller to perform the following operations: The drive signal is generated at least in part based on the starting point of the dynamic relay, and the drive signal indicates the first pulse width modulated current signal and the second pulse width modulated current signal; Determine the change in the valve stroke or the pressure at the valve over a time period; and In response to determining that the drive signal exceeds a first threshold drive signal or is less than a second threshold drive signal and determining that the change in valve stroke or valve pressure exceeds a threshold amount, the starting point of the dynamic relay is reset.
6. The digital locator according to claim 2, characterized in that, To generate a drive signal that is a function of the setpoint, wherein the drive signal is adjusted according to the rate of change of the valve stroke or the valve pressure over a time period, the instruction causes the valve controller to perform the following operations: Obtain the threshold dead zone value for the valve stroke or valve pressure; Based on the threshold dead zone value of the valve stroke or valve pressure and the set point value, the dead zone region of the valve stroke or valve pressure is identified; Compare the rate of change of the valve stroke or valve pressure over the time period with a threshold velocity; and In response to determining that the rate of change of the valve stroke or valve pressure over the time period exceeds the threshold speed and that the valve stroke or valve pressure is in the dead zone region, the value of the drive signal is reduced.
7. The digital locator according to claim 6, characterized in that, The threshold speed includes the first threshold speed of the supply relay and the second threshold speed of the discharge relay.
8. The digital locator according to claim 7, characterized in that, The instruction causes the valve controller to perform the following operations: In response to determining that the valve stroke increases over the time period, the rate of change of the valve stroke or valve pressure over the time period exceeds the first threshold speed of the supply relay, and the valve stroke or valve pressure is in the dead zone region, the value of the drive signal is reduced by a first predetermined amount.
9. The digital locator according to claim 8, characterized in that, The instruction causes the valve controller to perform the following operations: In response to determining that the valve stroke increases over the time period, the rate of change of the valve stroke or valve pressure over the time period exceeds the first threshold speed of the supply relay, and the valve stroke or valve pressure is higher than the dead zone region, the value of the drive signal is reduced by a second predetermined amount.
10. The digital locator according to claim 9, characterized in that, The instruction causes the valve controller to perform the following operations: In response to determining that the valve stroke increases over the time period and that the rate of change of the valve stroke or valve pressure over the time period is greater than a threshold amount below the first threshold speed of the supply relay, the value of the drive signal is increased by a third predetermined amount.
11. The digital locator according to claim 7, characterized in that, The instruction causes the valve controller to perform the following operations: In response to determining that the valve stroke decreases during the time period, the rate of change of the valve stroke or valve pressure during the time period exceeds the magnitude of the second threshold speed of the discharge relay, and the valve stroke or valve pressure is in the dead zone region, the value of the drive signal is increased by a first predetermined amount.
12. The digital locator according to claim 11, characterized in that, The instruction causes the valve controller to perform the following operations: In response to determining that the valve stroke decreases during the time period, the rate of change of the valve stroke or valve pressure during the time period exceeds the magnitude of the second threshold speed of the discharge relay, and the valve stroke or valve pressure is higher than the dead zone region, the value of the drive signal is increased by a second predetermined amount.
13. The digital locator according to claim 12, characterized in that, The instruction causes the valve controller to perform the following operations: In response to determining that the valve stroke decreases over the time period and that the magnitude of the rate of change of the valve stroke or valve pressure over the time period is greater than a threshold amount lower than the magnitude of the second threshold speed of the discharge relay, the value of the drive signal is reduced by a third predetermined amount.
14. The digital locator according to claim 1, characterized in that, The instruction causes the valve controller to perform the following operations: Compare the current valve stroke or valve pressure value with the previous valve stroke or valve pressure value within the time period; and In response to determining that the difference between the current valve stroke or valve pressure value and the previous valve stroke or valve pressure value within the time period exceeds a threshold amount, the drive signal is reset to zero.