Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

AGA8_92 - расчет свойств природного газа


Назначение.
Функциональный блок используется для расчета свойств природного газа по уравнению состояния AGA8_92DC (ГОСТ 30319.2-96).
 
Состав структурной переменной.
Переменная со структурным типом AGA8_92 будет добавлена в локальный словарь автоматически при добавлении блока AGA8_92 в редактор.
Вход X содержит ссылку на массив с компонентным составом природного газа. Каждый элемент массива является вещественным числом (тип данных REAL) и соответствует значению концентрации одного компонента газа.
Таблица соответствия элементов массива X и компонентов газа:
Элемент массива
Компонент
Элемент массива
Компонент
Элемент массива
Компонент
X[0]
Метан
X[10]
Ацетилен
X[20]
Метилмеркаптан
X[1]
Этан
X[11]
Этилен
X[21]
Диоксид серы
X[2]
Пропан
X[12]
Пропилен
X[22]
Гелий
X[3]
н-Бутан
X[13]
Бензол
X[23]
Неон
X[4]
и-Бутан
X[14]
Толуол
X[24]
Аргон
X[5]
н-Пентан
X[15]
Водород
X[25]
Монооксид углерода
X[6]
и-Пентан
X[16]
Водяной пар
X[26]
Азот
X[7]
н-Гексан
X[17]
Аммиак
X[27]
Воздух
X[8]
н-Гептан
X[18]
Метанол
X[28]
Кислород
X[9]
н-Октан
X[19]
Сероводород
X[29]
Диоксид углерода
Возможные коды ошибок на выходе "err" с кратким описание:
Код ошибки
Краткое описание
0
Ошибок нет
3
Недопустимый размер массива
4
Недопустимая ссылка на массив
-1
Недопустимое значение температуры
-2
Недопустимое значение давления
-8
Недопустимое значение доли азота
-16
Недопустимое значение доли углекислого газа
-32
Недопустимое значение доли метана
-64
Недопустимое значение доли этана
-128
Недопустимое значение доли пропана
-256
Недопустимое значение доли бутана
-512
Недопустимое значение доли сероводорода
-1024
Недопустимое значение доли остальных компонентов
 
Пример синтаксиса на языке ST.
//Вызов функционального блока AGA8_92
Block.AGA8_92(T, P, Type_X, X);
//чтение выходных параметров
K := Block.K;        
Dens := Block.Dens; 
ka := Block.ka;        
u := Block.u;            
Visc := Block.Visc;   
Hh := Block.Hh;       
Hl := Block.Hl;         
err := Block.err;