[Статьи]

Пропускная характеристика регулирующего клапана

Пропускная характеристика регулирующего клапана (далее РК) может быть линейной, парабалической, равнопроцентной.
Линейная: $\bar{K}_V = \bar{K}_{V0} + (1 - \bar{K}_{V0})\cdot h$
Параболическая: $\bar{K}_V = \bar{K}_{V0} + (1 - \bar{K}_{V0})\cdot h^2$
Равнопроцентная: $\bar{K}_V = \bar{K}_{V0}\cdot e^{n\cdot h}$
$\bar{K}_V = K_V / K_{VS}$ - относительная пропускная способность, $K_V$ - пропускная способность ($м^3/ч$) при относительном положении штока $h$ (значение $h$ лежит в диапазоне [0; 1], 0 - шток находится в нижнем положении, 1 - РК полностью открыт), $K_{VS}$ - максимальная пропускная способность РК (при $h = 1$), $м^3/ч$, $\bar{K}_{V0}$ - относительная пропускная способность при относительном положении штока $h = 0$, $n$ - показатель степени равнопроцентной характеристики.

Для линейной и параболической пропускной характеристики значение $\bar{K}_{V0}$ теоретически может быть равно нулю. Для равнопроцентной пропускной характеристики при $h = 1$ должно выполняться равенство $1 = \bar{K}_{V0}\cdot e^n $, отсюда $\bar{K}_{V0} = 1 / e^n$, а $n = \ln{\left(1 / \bar{K}_{V0}\right)}$.

Тогда уровнение для равнопроцентной пропускной характеристики примет вид: $\bar{K}_V = \bar{K}_{V0}\cdot \left(1 / \bar{K}_{V0}\right)^h = \bar{K}_{V0}^{(1 - h)}$

Диапазон регулирования - отношение максимальной пропускной способности к минимальной пропускной способности.

При диапазоне регулирования 50:1 $\bar{K}_{V0} = 1 / 50 = 0.02$, при диапазоне регулирования 100:1 $\bar{K}_{V0} = 1 / 100 = 0.01$.

In [10]:
from math import log, exp
#Расчётные функции
#Линейная пропускная характеристика
def lin_flow_char (Kv0, h):
    return Kv0 + (1 - Kv0) * h
#Параболическая пропускная характеристика
def par_flow_char (Kv0, h):
    return Kv0 + (1 - Kv0) * h * h
#Равнопроцентная пропускная характеристика
def ep_flow_char (Kv0, h):
    return Kv0 ** (1 - h)
In [6]:
import numpy as np #библиотека для работы с массивами
In [7]:
N = 51 #Количество точек разбиения диапазона [0; 1] относительного положения штока h
hs = np.linspace(0, 1, N) #h - положение штока, s - означает, что это массив (множественное число)
#Массив размерностью [N, 4] для хранения значений относительных Kv для четырёх пропускных характеристик
#0 - линейная (Kv0 = 0,02,регулирующее отношение 50:1), 1 - парабалическая (Kv0 = 0,02),
#2 - равнопроцентная (Kv0 = 0,02), 3 - равнопроцентная (Kv0 = 0,01, регулирующее отношение 100:1)
legends = ['Линейная 50:1', 'Параболическая 50:1', 'Равнопроцентная 50:1', 'Равнопроцентная 100:1']
Kvs = np.zeros((hs.shape[0], len(legends)), dtype = float) #создаём массив из нулей
Kv0s = np.array([0.02, 0.02, 0.02, 0.01]) #значения относительных Kv0 для исследуемых 4-х характеристик
funcs = [lin_flow_char, par_flow_char, ep_flow_char, ep_flow_char] #список функций - проходных характеристик
In [8]:
#Формирование данных для графиков
for i in range(N):
    for j in range(len(funcs)):
        Kvs[i, j] = funcs[j](Kv0s[j], hs[i])
In [9]:
import matplotlib.pyplot as plt #библотека для построения графиков
plt.rcParams['figure.figsize'] = [7, 7]
plt.rcParams.update({'font.size': 16})
plt.plot(hs, Kvs)
plt.title('Пропускные характеристики')
plt.xlabel('Положение штока РК')
plt.ylabel('Относительный $K_v$')
plt.legend(legends)
plt.xlim (0,1); plt.ylim (0,1)
plt.grid()