| Имя: | TechApp |
| Основан: | октябрь 2005г |
| Версия: | 0.9.0 |
| Статус: | Открытый (GPL) |
| Автор: | Роман Савоченко, Максим Лысенко, Ксения Яшина |
| Описание: | Предоставляет библиотеку моделей технологических аппаратов. |
| Адрес: | БД в файле: SQLite.LibDB.techApp (file:oscadalibs.db) |
Библиотека создаётся для предоставления моделей аппаратов технологический процессов. Библиотека не является статической, а строится на основе модуля JavaLikeCalc, позволяющего создавать вычисления на Java-подобном языке.
Для адресации к функциям этой библиотеки необходимо использовать путь: <DAQ.JavaLikeCalc.lib_techApp.*>. Где '*' идентификатор функции в библиотеке.
Подключить библиотеку моделей аппаратов к проекту станции OpenSCADA можно путём загрузки вложенного файла БД, размещения его в директории БД проекта станции и создания объекта БД для модуля БД "SQLite", указав файл БД в конфигурации.
Для каждой функции производилась оценка времени исполнения. Измерение производилось на системе со следующими параметрами: Athlon 64 3000+ (2000МГц) и ALTLinux 5.1-32бит путём замера общего времени исполнения функции при вызове её 1000 раз. Выборка производилась по наименьшему значению из пяти вычислений. Время заключается в угловые скобки и измеряется в микросекундах.
В основе модели каждого аппарата лежит вычисление входного расхода и выходного давления исходя из входного давления и выходного расхода. В целом, модели аппаратов технологических процессов описываются разностными уравнениями для дискретных машин.
На основе функций этой библиотеки можно легко и быстро строить модели технологических процессов в модуле BlockCalc путём объединения блоков в соответствии с технологической схемой. Пример объединения части аппаратов технологической схемы приведено на рис. 1.

В основе модели любого аппарата ТП лежат две основные формулы, а именно формула расхода и давления среды. Каноническая формула расхода среды для сечения трубы или проходного сечения сужения имеет вид (1).
Реальная плотность вычисляется по формуле (2).
Любая труба представляет потоку динамическое сопротивление, связанное с трением о стенки трубы и которое зависит от скорости потока. Динамическое сопротивление трубы выражается формулой (3). Общий расход среды с учётом динамического сопротивления вычисляется по формуле (4).
Формула (1) описывает ламинарное истечение среды до критических скоростей. В случае превышения критической скорости вычисление расхода осуществляется по формуле (5). Универсальная формула расчёта расхода на всех скоростях будет иметь формулы (6).
В динамических системах изменение расхода на конце трубы не меняется мгновенно, а запаздывает на время перемещения участка среды от начала трубопровода к концу. Это время зависит от длины трубы и скорости движения среды в трубе. Задержку изменения расхода на конце трубы можно описать формулой (7). Результирующая формула расчёта расхода в трубе, с учётом описанных выше особенностей, записывается в виде (8).
(8)Давление среды в объеме обычно вычисляется идентично для всех случаев по формуле (9).
(9)В своём составе библиотека содержит около двух десятков моделей часто востребованных аппаратов технологических процессов и вспомогательных элементов. Названия функций и их параметров доступны на трёх языках: Английский, Русский и Украинский.
Описание: Модель задержки. Может использоваться для имитации запаздывания значений датчиков.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| out | Выход | Веществ. | Возврат | false | 0 |
| in | Вход | Веществ. | Вход | false | 0 |
| t_lg | Время запазд. (с) | Веществ. | Вход | false | 10 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
Программа:
out-=(out-in)/(t_lg*f_frq);
Описание: Модель шума. Содержит три составляющие:
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| out | Выход | Веществ. | Возврат | false | 0 |
| off | Общее смещение | Веществ. | Вход | false | 1 |
| a_g1 | Амплитуда гармоники 1 | Веществ. | Вход | false | 10 |
| per_g1 | Период гармоники 1 (сек) | Веществ. | Вход | false | 10 |
| a_g2 | Амплитуда гармоники 2 | Веществ. | Вход | false | 5 |
| per_g2 | Период гармоники 2 (сек) | Веществ. | Вход | false | 0.1 |
| a_rnd | Амплитуда случ. значений | Веществ. | Вход | false | 1 |
| f_frq | Частота обсчёта функции (Гц) | Веществ. | Вход | true | 100 |
| tmp_g1 | Счётчик гармоники 1 | Веществ. | Вход | true | 0 |
| tmp_g2 | Счётчик гармоники 2 | Веществ. | Вход | true | 0 |
Программа:
tmp_g1=(tmp_g1>6.28)?0:tmp_g1+6.28/(per_g1*f_frq);
tmp_g2=(tmp_g2>6.28)?0:tmp_g2+6.28/(per_g2*f_frq);
out=off+a_g1*sin(tmp_g1)+a_g2*sin(tmp_g2)+a_rnd*(rand(2)-1);
Описание: Модель шарового крана. Включает время хода и время отрыва.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| pos | Положение (%) | Веществ. | Выход | false | 0 |
| com | Команда | Логич. | Вход | false | 0 |
| st_open | Сост. "Открыто" | Логич. | Выход | false | 0 |
| st_close | Сост. "Закрыто" | Логич. | Выход | false | 1 |
| t_full | Время хода (с) | Веществ. | Вход | false | 5 |
| t_up | Время срыва (с) | Веществ. | Вход | false | 0.5 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
| tmp_up | Счётчик срыва | Веществ. | Вход true | 0 | |
| lst_com | Последняя команда | Логич. | Вход | true | 0 |
Программа:
if( !(st_close && !com) && !(st_open && com) )
{
tmp_up=(pos>0&&pos<100)?0:(tmp_up>0&&lst_com==com)?tmp_up-1./f_frq:t_up;
pos+=(tmp_up>0)?0:(100.*(com?1.:-1.))/(t_full*f_frq);
pos=(pos>100)?100:(pos<0)?0:pos;
st_open=(pos>=100)?true:false;
st_close=(pos<=0)?true:false;
lst_com=com;
}
Описание: Модель сепаратора с двумя фазами, жидкой и газовой.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Si | Входн. сечение (м2) | Веществ. | Вход | false | 0.2 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| So | Выходн. сеч. (м2) | Веществ. | Вход | false | 0.2 |
| lo | Выходн. длина (м) | Веществ. | Вход | false | 10 |
| Fo_ж | Выходн. расход жидк. (т/ч) | Веществ. | Вход | false | 0 |
| Po_ж | Выходн. давление жидк. (ата) | Веществ. | Выход | false | 1 |
| Lж | Уровень жидкости (%) | Веществ. | Выход | false | 0 |
| ProcЖ | % жидкости. | Веществ. | Вход | false | 0.01 |
| Vap | Объём аппарата (м3) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Qж | Плотн. жидкости (кг/м3) | Веществ. | Вход | false | 1000 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 200 |
Программа:
Fж=max(0,Fi*ProcЖ);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi,Pi,293,Si,Fo+Fж,Po,293,So,lo,Q0,0.95,0.01,f_frq);
Lж = max(0,min(100,Lж+0.27*(Fж-Fo_ж)/(Vap*Qж*f_frq)));
Po_ж = Po + Lж*Vap/Qж;
Описание: Модель клапана, учитывающая:
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Ti | Входн. температура (К) | Веществ. | Вход | false | 273 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| To | Выходн. температура (К) | Веществ. | Выход | false | 273 |
| So | Выходн. сеч. трубы (м2) | Веществ. | Вход | false | .2 |
| lo | Длина выходн. трубы (м) | Веществ. | Вход | false | 10 |
| S_kl1 | Сечение клапана 1 (м2) | Веществ. | Вход | false | .1 |
| l_kl1 | Полож. клапана 1 (%) | Веществ. | Вход | false | 0 |
| t_kl1 | Время хода. клапана 1 (с) | Веществ. | Вход | false | 10 |
| S_kl2 | Сечение клапана 2 (м2) | Веществ. | Вход | false | .05 |
| l_kl2 | Полож. клапана 2 (%) | Веществ. | Вход | false | 0 |
| t_kl2 | Время хода. клапана 2 (с) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. ср. (кг/м3) | Веществ. | Вход | false | 1 |
| Kln | Коэфиц. нелинейности | Веществ. | Вход | false | 1 |
| Kpr | Коэфиц. сжим. среды | Веществ. | Вход | false | 0.95 |
| Ct | Теплоёмкость среды | Веществ. | Вход | false | 20 |
| Riz | Тепл. сопр. изоляции | Веществ. | Вход | false | 20 |
| noBack | Обратный клапан | Логич. | Вход | false | 0 |
| Fwind | Скорость воздуха | Веществ. | Вход | false | 1 |
| Twind | Темпер. воздуха | Веществ. | Вход | false | 273 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 200 |
| tmp_l1 | Удержанное положение 1 | Веществ. | Выход | true | 0 |
| tmp_l2 | Удержанное положение 2 | Веществ. | Выход | true | 0 |
Программа:
Qr=Q0+Q0*Kpr*(Pi-1);
tmp_l1 += (abs(l_kl1-tmp_l1) > 5) ? 100*sign(l_kl1-tmp_l1)/(t_kl1*f_frq) : (l_kl1-tmp_l1)/(t_kl1*f_frq);
tmp_l2 += (abs(l_kl2-tmp_l2) > 5) ? 100*sign(l_kl2-tmp_l2)/(t_kl2*f_frq) : (l_kl2-tmp_l2)/(t_kl2*f_frq);
Sr=(S_kl1*pow(tmp_l1,Kln)+S_kl2*pow(tmp_l2,Kln))/pow(100,Kln);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi,Pi,Ti,Sr,EVAL_REAL,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
if( noBack ) Fi = max(0,Fi);
Po = max(0,min(100,Po+0.27*(Fi-Fo)/(Q0*Kpr*So*lo*f_frq)));
To = max(0,min(2e3,To+(abs(Fi)*(Ti*pow(Po/Pi,0.02)-To)+(Fwind+1)*(Twind-To)/Riz)/(Ct*So*lo*Qr*f_frq)));
Описание: Модель чистого(транспортного) запаздывания. Реализуется путём включения нескольких простых цепей запаздывания. Предназначен для имитации запаздывания в длинных трубопроводах.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| out | Выход | Веществ. | Возврат | false | 0 |
| in | Вход | Веществ. | Вход | false | 0 |
| t_lg | Время запазд. (с) | Веществ. | Вход | false | 10 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
| cl1 | Звено 1 | Веществ. | Вход | true | 0 |
| cl2 | Звено 2 | Веществ. | Вход | true | 0 |
| cl3 | Звено 3 | Веществ. | Вход | true | 0 |
Программа:
cl1-=(cl1-in)/(t_lg*f_frq/4);
cl2-=(cl2-cl1)/(t_lg*f_frq/4);
cl3-=(cl3-cl2)/(t_lg*f_frq/4);
out-=(out-cl3)/(t_lg*f_frq/4);
Описание:
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi1 | Вх. расход воды (т/ч) | Веществ. | Выход | false | 22 |
| Pi1 | Вх. давление воды (ата) | Веществ. | Вход | false | 43 |
| Ti1 | Вх. температура воды (K) | Веществ. | Вход | false | 523 |
| Si1 | Вх. сечение труб с водой (м2) | Веществ. | Вход | false | 0.6 |
| Fi2 | Вх. расход дымовых газов (т/ч) | Веществ. | Выход | false | |
| Pi2 | Вх. давление дымовых газов (ата) | Веществ. | Вход | false | 1.3 |
| Ti2 | Вх. температура дымовых газов (K) | Веществ. | Вход | false | 1700 |
| Si2 | Вх. сечение трубы дымовых газов (м2) | Веществ. | Вход | false | 10 |
| Vi1 | Объем барабана (м3) | Веществ. | Вход | false | 3 |
| Lo | Уровень в барабане(%) | Веществ. | Выход | false | 10 |
| S | Поверхность нагрева (м2) | Веществ. | Вход | false | 15 |
| k | Коэффициент теплоотдачи | Веществ. | Вход | false | 0.8 |
| Fo | Вых. расход пара (т/ч) | Веществ. | Вход | false | 20 |
| Po1 | Вых. давление пара (ата) | Веществ. | Выход | false | 41.68 |
| To1 | Вых. температура пара (K) | Веществ. | Выход | false | 10 |
| So1 | Вых. сечение трубы по пару (м2) | Веществ. | Вход | false | 0.5 |
| lo1 | Вых. длина трубы пара (м) | Веществ. | Вход | false | 5 |
| Fo2 | Вых. расход дымовых газов (т/ч) | Веществ. | Вход | false | 180 |
| Po2 | Вых. давление дымовых газов (ата) | Веществ. | Выход | false | 1 |
| To2 | Вых. температура дымовых газов (K) | Веществ. | Вход | false | 0 |
| Fpara | Расход пара в барабане(т/ч) | Веществ. | Выход | false | 0 |
| Tv | Температура воды в барабане(K) | Веществ. | Выход | false | 0 |
| f_frq | Частота обсчета(Гц) | Веществ. | Вход | false | 200 |
Программа:
// Water
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi1,Pi1,293,Si1,EVAL_REAL,Po1,293,So1,lo1,1e3,0.001,0.01,f_frq);
Fi1 = max(0,Fi1);
// Steam
Lo = max(0,min(100,Lo+(Fi1-Fpara)*100/(Vi1*1000*f_frq)));
To1 = (100*pow(Po1,0.241)+5)+273;
if( Tv<To1 )
{
Tv+=(k*S*(Ti2-Tv)-Fi1*0.00418*(Tv-Ti1))/f_frq;
Fpara=0;
}
if( Tv >= To1 )
{
Tv=To1;
Lambda=2750.0-0.00418*(Tv-273);
Fpara=(5*S*Fi2*(Ti2-Tv)-Fi1*0.00418*(Tv-Ti1))/(Po1*Lambda);
}
To2=Ti2-Tv/k;
Po1 = max(0,min(100,Po1+0.27*(Fpara-Fo)/(1.2*0.98*((1-Lo/100)*Vi1+So1*lo1)*f_frq)));
// Smoke gas
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi2,Pi2,293,Si2,Fo2,Po2,293,Si2,30,1.2,0.98,0.01,f_frq);
Описание:
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi1 | Вх. расход доменного газа (т/ч) | Веществ. | Выход | false | |
| Pi1 | Вх. давление доменного газа (ата) | Веществ. | Вход | false | |
| Ti1 | Вх. температура доменного газа (K) | Веществ. | Вход | false | 40 |
| Si1 | Вх. сечение трубы доменного газа (м2) | Веществ. | Вход | false | |
| Fi2 | Вх. расход природного газа (т/ч) | Веществ. | Выход | false | |
| Pi2 | Вх. давление природного газа (ата) | Веществ. | Вход | false | |
| Ti2 | Вх. температура природного газа (K) | Веществ. | Вход | false | 20 |
| Si2 | Вх. сечение трубы природного газа (м2) | Веществ. | Вход | false | |
| Fi3 | Вх. расход коксового газа (т/ч) | Веществ. | Выход | false | |
| Pi3 | Вх. давление коксового газа (ата) | Веществ. | Вход | false | |
| Ti3 | Вх. температура коксового газа (K) | Веществ. | Вход | false | 0 |
| Si3 | Вх. сечение трубы коксового газа (м2) | Веществ. | Вход | false | |
| Fi4 | Вх. расход воздуха (т/ч) | Веществ. | Выход | false | |
| Pi4 | Вх. давление воздуха (ата) | Веществ. | Вход | false | |
| Ti4 | Вх. температура воздуха (K) | Веществ. | Вход | false | 20 |
| Si4 | Вх. сечение трубы воздуха (м2) | Веществ. | Вход | false | |
| Fo | Вых. расход дымовых газов (т/ч) | Веществ. | Вход | false | |
| Po | Вых. давление и в топке (ата) | Веществ. | Выход | false | |
| To | Вых. температура и в топке (K) | Веществ. | Выход | false | |
| So | Вых. сечение трубы (м2) | Веществ. | Вход | false | 90 |
| lo | Выходная длина трубы(м) | Веществ. | Вход | false | |
| V | Объём топки(м3) | Веществ. | Вход | false | 830 |
| CO | Процент содержания CO в уходящих дымовых газах(%) | Веществ. | Выход | false | |
| O2 | Процент содержания O2 в уходящих дымовых газах(%) | Веществ. | Выход | false | |
| f_frq | Частота дискретизации(Гц) | Веществ. | Вход | false | 200 |
Программа:
using DAQ.JavaLikeCalc.lib_techApp;
pipeBase(Fi1,Pi1,Ti1,Si1,EVAL_REAL,Po,293,So,lo,1.2,0.95,0.01,f_frq); Fi1 = max(0,Fi1);
pipeBase(Fi2,Pi2,Ti2,Si2,EVAL_REAL,Po,293,So,lo,0.7,0.95,0.01,f_frq); Fi2 = max(0,Fi2);
pipeBase(Fi3,Pi3,Ti3,Si3,EVAL_REAL,Po,293,So,lo,1.33,0.95,0.01,f_frq); Fi3 = max(0,Fi3);
pipeBase(Fi4,Pi4,Ti4,Si4,EVAL_REAL,Po,293,So,lo,1.293,0.95,0.01,f_frq); Fi4 = max(0,Fi4);
Neobhod_vzd = Fi1+10*Fi2+4*Fi3;
F_DG = Fi1+Fi2+Fi3+Fi4;
O2 = max(0,min(100,(Fi4-Neobhod_vzd)*100/F_DG));
CO = min(100, (O2<1) ? (1.2*abs(O2)) : 0);
koef = min(1,Fi4/Neobhod_vzd);
Q = koef*(8050*Fi2+3900*Fi3+930*Fi1);
delta_t = Q/(F_DG*1.047);
To = max(0,min(2000,(delta_t+(Ti4-273)+(Ti3-273)*(Fi3/Fi1)+(Ti2-273)*(Fi2/Fi1)+(Ti1-273)*(Fi1/Fi4))+273));
Po = max(0,min(10,Po+0.27*(F_DG-Fo)/(1.2*0.95*(So*lo+V)*f_frq)));
Описание: Нагрузка с фиксированным давлением сети. Содержит параметр для подключения шума.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расхода (т/ч) | Веществ. | Выход | false | 10 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Po | Задание выходн. давления (ата) | Веществ. | Вход | false | 1 |
| So | Сечение трубы на выходе (м2) | Веществ. | Вход | false | 0.1 |
| Kpr | Коэффициент сжимаемости (0...1) | Веществ. | Вход | false | 0.95 |
| Noise | Шум входн. расхода | Веществ. | Вход | false | 1 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| f_frq | Частота обсчёта функции (Гц) | Веществ. | Вход | true | 200 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi,Pi,293,So,EVAL_REAL,Po,293,So,10,Q0,Kpr,0.01,f_frq);
Описание: Источник с фиксированным давлением. Содержит параметр для подключения шума.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Pi | Задание входного давления (ата) Веществ. | Вход | false | 10 | |
| Fo | Выходн. расхода (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| So | Сечение трубы на выходе (м2) | Веществ. | Вход | false | 0.1 |
| lo | Длина трубы на выходе (м) | Веществ. | Вход | false | 100 |
| Noise | Шум входн. давления | Веществ. | Вход | false | 1 |
| Q0 | Плотность среды в норм. услов. (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коэфиц. сжим. среды | Веществ. | Вход | false | 0.95 |
| f_frq | Частота обсчёта функции (Гц) | Веществ. | Вход | true | 200 |
| Fit | Вход. расход удержаный | Веществ. | Выход | true | 0 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fit,Pi*Noise,293,So,Fo,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
Описание: Модель воздушного охладителя газового потока.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Ti | Входн. температура (К) | Веществ. | Вход | false | 273 |
| Si | Сечение трубок (м2) | Веществ. | Вход | false | 0.05 |
| li | Общая длина трубок (м) | Веществ. | Вход | false | 10 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| To | Выходн. температура (К) | Веществ. | Выход | false | 273 |
| So | Выходн. сеч. трубы (м2) | Веществ. | Вход | false | .2 |
| lo | Длина выходн. трубы (м) | Веществ. | Вход | false | 10 |
| Tair | Темп. охложд. воздуха (К) | Веществ. | Вход | false | 283 |
| Wc | Производит. холод. | Веществ. | Вход | false | 200 |
| Q0 | Норм. плотн. ср. (кг/м3) | Веществ. | Вход | false | 1 |
| Ct | Теплоёмкость среды | Веществ. | Вход | false | 100 |
| Rt | Тепл. сопротивление | Веществ. | Вход | false | 1 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 200 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi,Pi,293,Si,Fo,Po,293,So,lo,Q0,0.95,0.01,f_frq);
Qr = Q0+Q0*0.95*(Pi-1);
To+=(Fi*(Ti-To)+Wc*(Tair-To)/Rt)/(Ct*(Si*li+So*lo)*Qr*f_frq);
Описание: Модель газового компрессора. Учитывает эффект помпажа. Помпаж вычисляется по газо-динамической кривой, исходя из которой получается коэффициент запаса по помпажу.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Ti | Входн. температура (К) | Веществ. | Вход | false | 273 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| To | Выходн. температура (К) | Веществ. | Выход | false | 273 |
| So | Выходн. сеч. трубы (м2) | Веществ. | Вход | false | 0.2 |
| lo | Длина выходн. трубы (м) | Веществ. | Вход | false | 2 |
| Kzp | Коэф. запаса по помпажу | Веществ. | Выход | false | 0.1 |
| N | Об. компр. (тыс. об./мин) | Веществ. | Вход | false | 0 |
| V | Объём компрессора (м3) | Веществ. | Вход | false | 7 |
| Kpmp | Коэф. помп. (точка помп.) | Веществ. | Вход | false | 0.066 |
| Kslp | Коэф. накл. помп. кривой | Веществ. | Вход | false | 0.08 |
| Q0 | Норм. плотн. ср. (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| Ct | Теплоёмкость среды | Веществ. | Вход | false | 100 |
| Riz | Тепл. сопр. изоляции | Веществ. | Вход | false | 100 |
| Fwind | Скорость воздуха | Веществ. | Вход | false | 1 |
| Twind | Темпер. воздуха | Веществ. | Вход | false | 273 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 200 |
| Fit | Вход. расход удержанный | Веществ. | Выход | true | 0 |
Программа:
Pmax = max(Pi,Po);
Pmin = min(Pi,Po);
Qr = Q0+Q0*Kpr*(Pi-1);
Qrf = Q0+Q0*Kpr*(Pmax-1);
Ftmp=(N>0.1)?(1-10*(Po-Pi)/(Qr*(pow(N,3)+0.1)*Kpmp)):1;
Kzp=1-Ftmp; //Коэффиц. запаса
Fi=V*N*Qr*sign(Ftmp)*pow(abs(Ftmp),Kslp)+
0.3*(4*So*Qrf/(0.01*lo*1.7724+4*Qrf))*sign(Pi-Po)*pow(Qrf*(Pmax-max(Pmax*0.528,Pmin)),0.5);
Fit -= (Fit-Fi)/max(1,(lo*f_frq)/max(1e-4,abs(Fi/(Qrf*So))));
Po = max(0,min(100,Po+0.27*(Fi-Fo)/(Q0*Kpr*So*lo*f_frq)));
To+=(abs(Fi)*(Ti*pow(Po/Pi,0.3)-To)+(Fwind+1)*(Twind-To)/Riz)/(Ct*(V+So*lo)*Qr*f_frq);
Описание: Источник с фиксированным расходом. Содержит параметр для подключения шума.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Задание входн. расхода (т/ч) | Веществ. | Вход | false | 10 |
| Fo | Выходн. расхода (т/ч) | Веществ. | Вход | false | 10 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| So | Сечение трубы на выходе (м2) | Веществ. | Вход | false | 0.1 |
| lo | Длина трубы на выходе (м) | Веществ. | Вход | false | 100 |
| Noise | Шум входн. расхода | Веществ. | Вход | false | 1 |
| Q0 | Плотность среды в норм. услов. (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| f_frq | Частота обсчёта функции (Гц) | Веществ. | Вход | true | 100 |
Программа:
Po = max(0,min(100,Po+0.27*(Noise*Fi-Fo)/(Q0*Kpr*So*lo*f_frq)));
Описание: Реализация базовых основ модели трубы:
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Ti | Входн. температура (К) | Веществ. | Вход | false | 293 |
| Si | Входн. сечение (м2) | Веществ. | Вход | false | .2 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| To | Выходн. температура (К) | Веществ. | Выход | false | 293 |
| So | Выходн. сеч. (м2) | Веществ. | Вход | false | .2 |
| lo | Выходн. длина (м) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.98 |
| Ktr | Коеф. трения | Веществ. | Вход | false | 0.01 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | false | 100 |
Программа:
Pmax = max(Pi,Po);
Pmin = min(Pi,Po);
Qr = Q0+Q0*Kpr*(Pmax-1);
Fit = 630*(4*Si*So*Qr/(Ktr*lo*1.7724*Si+4*So*Qr))*sign(Pi-Po)*pow(Qr*(Pmax-max(Pmax*0.528,Pmin)),0.5);
Fi -= (Fi-Fit)/max(1,(lo*f_frq)/max(1,abs(Fit/(Qr*So))));
if( !Fo.isEVal() ) Po = max(0,min(100,Po+0.27*(Fi-Fo)/(Q0*Kpr*So*lo*f_frq)));
Описание: Модель узла труб по схеме: 1 -> 1.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| So | Выходн. сеч. (м2) | Веществ. | Вход | false | .2 |
| lo | Выходн. длина (м) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 200 |
| Pti | Pti | Веществ. | Выход | true | 1 |
| Fto | Fto | Веществ. | Выход | true | 0 |
| Pt1 | Pt1 | Веществ. | Выход | true | 1 |
| Ft1 | Ft1 | Веществ. | Выход | true | 0 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi,Pi,293,So,Ft1,Pti,293,So,0.33*lo,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Ft1,Pti,293,So,Fto,Pt1,293,So,0.33*lo,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fto,Pt1,293,So,Fo,Po,293,So,0.33*lo,Q0,Kpr,0.01,f_frq);
Описание: Модель узла труб по схеме: 2 -> 1.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi1 | Входн. расход 1 (т/ч) | Веществ. | Выход | false | 0 |
| Pi1 | Входн. давление 1 (ата) | Веществ. | Вход | false | 1 |
| Ti1 | Входн. температура 1 (К) | Веществ. | Вход | false | 273 |
| Si1 | Входн. сечение 1 (м2) | Веществ. | Вход | false | 0.2 |
| Fi2 | Входн. расход 2 (т/ч) | Веществ. | Выход | false | 0 |
| Pi2 | Входн. давление 2 (ата) | Веществ. | Вход | false | 1 |
| Ti2 | Входн. температура 2 (К) | Веществ. | Вход | false | 273 |
| Si2 | Входн. сечение 2 (м2) | Веществ. | Вход | false | 0.2 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| To | Выходн. температура (К) | Веществ. | Выход | false | 273 |
| So | Выходн. сечение 1 (м2) | Веществ. | Вход | false | .2 |
| lo | Выходн. длина 1 (м) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| Ct | Теплоёмкость среды | Веществ. | Вход | false | 20 |
| Riz | Тепл. сопр. изоляции | Веществ. | Вход | false | 20 |
| Fwind | Скорость воздуха | Веществ. | Вход | false | 1 |
| Twind | Температура воздуха (К) | Веществ. | Вход | false | 273 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi1,Pi1,293,Si1,EVAL_REAL,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi2,Pi2,293,Si2,EVAL_REAL,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
Po = max(0,min(100,Po+0.27*(Fi1+Fi2-Fo)/(Q0*Kpr*So*lo*f_frq)));
To = max(0,To+(Fi1*(Ti1-To)+Fi2*(Ti2-To)+(Fwind+1)*(Twind-To)/Riz)/(Ct*So*lo*Q0*f_frq));
Описание: Модель узла труб по схеме: 3 -> 1.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi1 | Входн. расход 1 (т/ч) | Веществ. | Выход | false | 0 |
| Pi1 | Входн. давление 1 (ата) | Веществ. | Вход | false | 1 |
| Ti1 | Входн. температура 1 (К) | Веществ. | Вход | false | 273 |
| Si1 | Входн. сечение 1 (м2) | Веществ. | Вход | false | 0.2 |
| Fi2 | Входн. расход 2 (т/ч) | Веществ. | Выход | false | 0 |
| Pi2 | Входн. давление 2 (ата) | Веществ. | Вход | false | 1 |
| Ti2 | Входн. температура 2 (К) | Веществ. | Вход | false | 273 |
| Si2 | Входн. сечение 2 (м2) | Веществ. | Вход | false | 0.2 |
| Fi3 | Входн. расход 3 (т/ч) | Веществ. | Выход | false | 0 |
| Pi3 | Входн. давление 3 (ата) | Веществ. | Вход | false | 1 |
| Ti3 | Входн. температура 3 (К) | Веществ. | Вход | false | 273 |
| Si3 | Входн. сечение 3 (м2) | Веществ. | Вход | false | 0.2 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ата) | Веществ. | Выход | false | 1 |
| To | Выходн. температура (К) | Веществ. | Выход | false | 273 |
| So | Выходн. сечение 1 (м2) | Веществ. | Вход | false | .2 |
| lo | Выходн. длина 1 (м) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| Ct | Теплоёмкость среды | Веществ. | Вход | false | 20 |
| Riz | Тепл. сопр. изоляции | Веществ. | Вход | false | 20 |
| Fwind | Скорость воздуха | Веществ. | Вход | false | 1 |
| Twind | Температура воздуха (К) | Веществ. | Вход | false | 273 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi1,Pi1,293,Si1,EVAL_REAL,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi2,Pi2,293,Si2,EVAL_REAL,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi3,Pi3,293,Si3,EVAL_REAL,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
Po = max(0,min(100,Po+0.27*(Fi1+Fi2+Fi3-Fo)/(Q0*Kpr*So*lo*f_frq)));
To = max(0,To+(Fi1*(Ti1-To)+Fi2*(Ti2-To)+Fi3*(Ti3-To)+(Fwind+1)*(Twind-To)/Riz)/(Ct*So*lo*Q0*f_frq));
Описание: Модель узла труб по схеме: 1 -> 2.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Fo1 | Выходн. расход 1 (т/ч) | Веществ. | Вход | false | 0 |
| Po1 | Выходн. давление 1 (ата) | Веществ. | Выход | false | 1 |
| So1 | Выходн. сеч. 1 (м2) | Веществ. | Вход | false | .2 |
| lo1 | Выходн. длина 1 (м) | Веществ. | Вход | false | 10 |
| Fo2 | Выходн. расход 2 (т/ч) | Веществ. | Вход | false | 0 |
| Po2 | Выходн. давление 2 (ата) | Веществ. | Выход | false | 1 |
| So2 | Выходн. сеч. 2 (м2) | Веществ. | Вход | false | .2 |
| lo2 | Выходн. длина 2 (м) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
| F1tmp | Врем. расход 1 | Веществ. | Выход | true | 0 |
| F2tmp | Врем. расход 2 | Веществ. | Выход | true | 0 |
| Pot1 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
| Pot2 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F1tmp,Pi,293,So1,Fo1,Po1,293,So1,lo1,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F2tmp,Pi,293,So2,Fo2,Po2,293,So2,lo2,Q0,Kpr,0.01,f_frq);
Fi=F1tmp+F2tmp;
Описание: Модель узла труб по схеме: 1 -> 3.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Fo1 | Выходн. расход 1 (т/ч) | Веществ. | Вход | false | 0 |
| Po1 | Выходн. давление 1 (ата) | Веществ. | Выход | false | 1 |
| So1 | Выходн. сеч. 1 (м2) | Веществ. | Вход | false | .2 |
| lo1 | Выходн. длина 1 (м) | Веществ. | Вход | false | 10 |
| Fo2 | Выходн. расход 2 (т/ч) | Веществ. | Вход | false | 0 |
| Po2 | Выходн. давление 2 (ата) | Веществ. | Выход | false | 1 |
| So2 | Выходн. сеч. 2 (м2) | Веществ. | Вход | false | .2 |
| lo2 | Выходн. длина 2 (м) | Веществ. | Вход | false | 10 |
| Fo3 | Выходн. расход 3 (т/ч) | Веществ. | Вход | false | 0 |
| Po3 | Выходн. давление 3 (ата) | Веществ. | Выход | false | 1 |
| So3 | Выходн. сеч. 3 (м2) | Веществ. | Вход | false | .2 |
| lo3 | Выходн. длина 3 (м) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
| F1tmp | Врем. расход 1 | Веществ. | Выход | true | 0 |
| F2tmp | Врем. расход 2 | Веществ. | Выход | true | 0 |
| F3tmp | Врем. расход 3 | Веществ. | Выход | true | 0 |
| Pot1 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
| Pot2 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
| Pot3 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F1tmp,Pi,293,So1,Fo1,Po1,293,So1,lo1,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F2tmp,Pi,293,So2,Fo2,Po2,293,So2,lo2,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F3tmp,Pi,293,So3,Fo3,Po3,293,So3,lo3,Q0,Kpr,0.01,f_frq);
Fi=F1tmp+F2tmp+F3tmp;
Описание: Модель узла труб по схеме: 1 -> 4.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ата) | Веществ. | Вход | false | 1 |
| Fo1 | Выходн. расход 1 (т/ч) | Веществ. | Вход | false | 0 |
| Po1 | Выходн. давление 1 (ата) | Веществ. | Выход | false | 1 |
| So1 | Выходн. сеч. 1 (м2) | Веществ. | Вход | false | .2 |
| lo1 | Выходн. длина 1 (м) | Веществ. | Вход | false | 10 |
| Fo2 | Выходн. расход 2 (т/ч) | Веществ. | Вход | false | 0 |
| Po2 | Выходн. давление 2 (ата) | Веществ. | Выход | false | 1 |
| So2 | Выходн. сеч. 2 (м2) | Веществ. | Вход | false | .2 |
| lo2 | Выходн. длина 2 (м) | Веществ. | Вход | false | 10 |
| Fo3 | Выходн. расход 3 (т/ч) | Веществ. | Вход | false | 0 |
| Po3 | Выходн. давление 3 (ата) | Веществ. | Выход | false | 1 |
| So3 | Выходн. сеч. 3 (м2) | Веществ. | Вход | false | .2 |
| lo3 | Выходн. длина 3 (м) | Веществ. | Вход | false | 10 |
| Fo4 | Выходн. расход 4 (т/ч) | Веществ. | Вход | false | 0 |
| Po4 | Выходн. давление 4 (ата) | Веществ. | Выход | false | 1 |
| So4 | Выходн. сеч. 4 (м2) | Веществ. | Вход | false | .2 |
| lo4 | Выходн. длина 4 (м) | Веществ. | Вход | false | 10 |
| Q0 | Норм. плотн. среды (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
| F1tmp | Врем. расход 1 | Веществ. | Выход | true | 0 |
| F2tmp | Врем. расход 2 | Веществ. | Выход | true | 0 |
| F3tmp | Врем. расход 3 | Веществ. | Выход | true | 0 |
| F4tmp | Врем. расход 4 | Веществ. | Выход | true | 0 |
| Pot1 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
| Pot2 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
| Pot3 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
| Pot4 | Вых. давл. удержанное | Веществ. | Выход | true | 1 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F1tmp,Pi,293,So1,Fo1,Po1,293,So1,lo1,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F2tmp,Pi,293,So2,Fo2,Po2,293,So2,lo2,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F3tmp,Pi,293,So3,Fo3,Po3,293,So3,lo3,Q0,Kpr,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(F4tmp,Pi,293,So4,Fo4,Po4,293,So4,lo4,Q0,Kpr,0.01,f_frq);
Fi=F1tmp+F2tmp+F3tmp+F4tmp;
Описание: Модель исполнительного механизма клапана. Включает время хода и время отрыва.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| pos | Положение (%) | Веществ. | Выход | false | 0 |
| pos_sensor | Положение по датчику (%) | Веществ. | Выход | false | 0 |
| com | Команда | Веществ. | Вход | false | 0 |
| st_open | Сост. "Открыто" | Логич. | Выход | false | 0 |
| st_close | Сост. "Закрыто" | Логич. | Выход | false | 1 |
| t_full | Время хода (с) | Веществ. | Вход | false | 3 |
| t_up | Время срыва (с) | Веществ. | Вход | false | 1 |
| t_sensor | Время задержки сенсора (с) | Веществ. | Вход | false | 1 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
| tmp_up | Счётчик срыва | Веществ. | Выход | false | 0 |
| lst_com | Последняя команда | Веществ. | Выход | false | 0 |
Программа:
if( (pos >= 99 && com >= 99) || (pos <= 1 && com <=1 ) )
{
tmp_up = t_up;
if(pos>=99) { pos=100; st_open=true; }
else { pos = 0; st_close=true; }
}
else if( tmp_up > 0 ) tmp_up-=1./f_frq;
else
{
st_open=st_close=false;
lst_com+=(com-lst_com)/(0.5*t_full*f_frq);
pos+=(lst_com-pos)/(0.5*t_full*f_frq);
}
pos_sensor+=(pos-pos_sensor)/(t_sensor*f_frq);
Описание: Модель диафрагмы.
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi | Входн. расход (т/ч) | Веществ. | Выход | false | 0 |
| Pi | Входн. давление (ata) | Веществ. | Вход | false | 1 |
| Fo | Выходн. расход (т/ч) | Веществ. | Вход | false | 0 |
| Po | Выходн. давление (ata) | Веществ. | Выход | false | 1 |
| dP | Перепад давления (кПа) | Веществ. | Выход | false | 0 |
| Sdf | Сеч. диафрагмы (м2) | Веществ. | Вход | false | 0.1 |
| So | Сеч. тр. на выходе (м2) | Веществ. | Вход | false | 0.2 |
| lo | Длина тр. на выходе (м) | Веществ. | Вход | false | 10 |
| Q0 | Пл. при реальн. усл. (кг/м3) | Веществ. | Вход | false | 1 |
| Kpr | Коеф. сжимаемости среды | Веществ. | Вход | false | 0.95 |
| f_frq | Частота обсчёта (Гц) | Веществ. | Вход | true | 100 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi,Pi,293,Sdf,Fo,Po,293,So,lo,Q0,Kpr,0.01,f_frq);
dP -= (dP-100*(Pi-Po))/f_frq;
Описание:
Параметры:
| ID | Параметр | Тип | Режим | Скрытый | По умолчанию |
| Fi1 | Вх. расход первого потока (т/ч) | Веществ. | Вход | false | 20 |
| Pi1 | Вх. давление первого потока (ата) | Веществ. | Вход | false | 1 |
| Ti1 | Вх. температура первого потока (K) | Веществ. | Вход | false | 20 |
| Si1 | Вх. сечение труб первого потока (м2) | Веществ. | Вход | false | 1 |
| li1 | Вх. длина труб первого потока (м) | Веществ. | Вход | false | 10 |
| Q0i1 | Нормальная плотность первого потока(кг/м3) | Веществ. | Вход | false | 1 |
| Kpr1 | Коэфиц. сжим. среды 1 | Веществ. | Вход | false | 0.9 |
| Ci1 | Теплоемкость первого потока(Дж/т*К) | Веществ. | Вход | false | 1 |
| Fi2 | Вх. расход второго потока (т/ч) | Веществ. | Вход | false | 20 |
| Pi2 | Вх. давление второго потока (ата) | Веществ. | Вход | false | 1 |
| Ti2 | Вх. температура второго потока (K) | Веществ. | Вход | false | 40 |
| Si2 | Вх. сечение труб второго потока (м2) | Веществ. | Вход | false | 1 |
| li2 | Вх. длина труб второго потока (м) | Веществ. | Вход | false | 10 |
| Q0i2 | Нормальная плотность второго потока(кг/м3) | Веществ. | Вход | false | 1 |
| Kpr2 | Коэфиц. сжим. среды 2 | Веществ. | Вход | false | 0.9 |
| Ci2 | Теплоемкость второго потока(Дж/т*К) | Веществ. | Вход | false | 1 |
| ki | Коэффициент теплоотдачи | Веществ. | Вход | false | 0.9 |
| Fo1 | Вых. расход первого потока (т/ч) | Веществ. | Вход | false | 0 |
| Po1 | Вых. давление первого потока (ата) | Веществ. | Выход | false | 1 |
| To1 | Вых. температура первого потока (K) | Веществ. | Выход | false | 273 |
| So1 | Вых. сечение труб первого потока (м2) | Веществ. | Выход | false | 1 |
| lo1 | Вых. длина труб первого потока (м) | Веществ. | Выход | false | 10 |
| Fo2 | Вых. расход второго потока (т/ч) | Веществ. | Вход | false | 0 |
| Po2 | Вых. давление второго потока (ата) | Веществ. | Выход | false | 1 |
| To2 | Вых. температура второго потока (K) | Веществ. | Выход | false | 273 |
| So2 | Вых. сечение труб второго потока (м2) | Веществ. | Выход | false | 1 |
| lo2 | Вых. длина труб второго потока (м) | Веществ. | Выход | false | 10 |
| f_frq | Частота обсчёта функции (Гц) | Веществ. | Вход | false | 200 |
Программа:
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi1,Pi1,Ti1,Si1,Fo1,Po1,293,So1,lo1,Q0i1,Kpr1,0.01,f_frq);
DAQ.JavaLikeCalc.lib_techApp.pipeBase(Fi2,Pi2,Ti2,Si2,Fo2,Po2,293,So2,lo2,Q0i2,Kpr2,0.01,f_frq);
To1=max(0,min(1e4,(Fi1*Ti1*Ci1+ki*Fi2*Ti2*Ci2)/(Fi1*Ci1+ki*Fi2*Ci2)));
To2=max(0,min(1e4,(ki*Fi1*Ti1*Ci1+Fi2*Ti2*Ci2)/(ki*Fi1*Ci1+Fi2*Ci2)));