Загрузка данных
"method_definition": {
"identity_and_governance": {
"standard_id": "ГОСТ_Р_52247-2021",
"method_code": "В",// 15.09.26 метод В
"revision": "Изменение № 1",
"title": "Нефть. Методы определения хлорорганических соединений (метод В)",//15.09.26 метод В
"target_substance": "Массовая доля органических хлоридов",
"status": "approved_for_production",
"scope": {
"standardization_object": "Нефть (сырая нефть)",
"oks_code": "75.040",
"applicability_range": { "min": 1.0, "unit": "млн⁻¹", "data_type": "number" }
},
"version_control": {
"previous_standard_id": "ГОСТ Р 52247-2004",
"equivalence_status": "modified",
"verification_requirement": "experiment_required",
}
},
"controlled_vocabulary": { //15.09.26 замечания аналогично методу Г по этому блоку
"properties": [
{ "id": "prop_mass", "label": "Масса", "unit": "г", "data_type": "float" },
{ "id": "prop_volume", "label": "Объем", "unit": "см³", "data_type": "float" },
{ "id": "prop_qualitative", "label": "Качественная реакция", "data_type": "enum" }
],
"enumerations": [
{
"id": "enum_presence_absence",
"label": "Наличие/Отсутствие",
"items": [
{ "id": "отсутствует", "label": "Реакция отсутствует" },
{ "id": "присуствует", "label": "Реакция присутствует" }
]
}
],
"equipment_roles": [
{ "id": "eq_distillation", "label": "Аппарат для разгонки нефти", "category": "TEST_EQUIPMENT" },
{ "id": "eq_heater", "label": "Колбонагреватель", "category": "AUXILIARY_EQUIPMENT" },
{ "id": "eq_cryostat", "label": "Криотермостат", "category": "AUXILIARY_EQUIPMENT" },
{ "id": "eq_cylinder_nef", "label": "Цилиндр (объем нефти)", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_cylinder_naft", "label": "Цилиндр (объем нафты)", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_balance_nef", "label": "Весы для нефти", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_balance_naft", "label": "Весы для нафты", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_balance_vnnaft", "label": "Весы (масса внутреннего стандарта и нафты", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_thermometer_dist", "label": "Термометр (для получения нафты)", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_thermometer_amb", "label": "Термометр для определения температуры вокруг приемного цилиндра", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_timer", "label": "Секундомер", "category": "MEASURING_INSTRUMENT" },
{ "id": "eq_chlorine_analyzer", "label": "Анализатор хлора", "category": "MEASURING_INSTRUMENT" }
]
},
"observation_definitions": {
"system_fields": [
{ "field": "record_date", "source": "system.current_date", "label": "Дата проведения испытания" },
{ "field": "sample_id", "source": "system.sample_id", "label": "Номер образца" },//15.09.26 Номер образца
{ "field": "operator_name", "source": "system.current_user", "label": "Исполнитель (ФИО)" }
],
"inputs": {//15.09.26 поправки убрать + перепроверить точность. 0,5 нигде нет. КМ: устранено.
"S1": { "label": "Результат качественной реакции на наличие неорганических хлоридов", "data_type": "enum", "enum_ref": "enum_presence_absence", "is_mandatory": true, "data_source": "MEASUREMENT" },
"S2": { "label": "Результат качественной реакции на наличие сероводорода", "data_type": "enum", "enum_ref": "enum_presence_absence", "is_mandatory": true, "data_source": "MEASUREMENT" }
},
"primary_measurements": {
"Vnef": { "label": "Объем нефти", "data_type": "float", "unit": "см³", "resolution": 1.0, "is_mandatory": true, "allow_zero": false, "data_source": "MEASUREMENT" },
"Vnf": { "label": "Объем отогнанной нафты", "data_type": "float", "unit": "см³", "resolution": 1.0, "is_mandatory": true, "allow_zero": false, "data_source": "MEASUREMENT" },
"m1": { "label": "Масса пустой круглодонной колбы", "data_type": "float", "unit": "г", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "MEASUREMENT" },
"m2": { "label": "Масса круглодонной колбы с нефтью", "data_type": "float", "unit": "г", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "MEASUREMENT" },
"m3": { "label": "Масса пустого приемного цилиндра", "data_type": "float", "unit": "г", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "MEASUREMENT" },
"m4": { "label": "Масса приемного цилиндра с нафтой", "data_type": "float", "unit": "г", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "MEASUREMENT" },
"mst": { "label": "Масса внутреннего стандарта", "data_type": "float", "unit": "г", "resolution": 0.001, "is_mandatory": false, "allow_zero": false, "data_source": "MEASUREMENT" },
"mnaft": { "label": "Масса нафты для испытания", "data_type": "float", "unit": "г", "resolution": 0.01, "is_mandatory": true, "allow_zero": false, "data_source": "MEASUREMENT" },
"mnef": { "label": "Масса нефти", "data_type": "float", "unit": "г", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" },
"mnf": { "label": "Масса нафты", "data_type": "float", "unit": "г", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" },
"tv": { "label": "Скорость перегонки", "data_type": "float", "unit": "см³/мин", "resolution": 1.0, "is_mandatory": true, "allow_zero": true, "data_source": "MEASUREMENT" },
"f": { "label": "Выход фракции нафты", "data_type": "float", "unit": "безразмерная", "resolution": 0.01, "is_mandatory": true, "allow_zero": true, "data_source": "CALCULATION" },
"N": { "label": "Массовая доля хлорорганических соединений в нафте(Единичные результаты)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": false, "is_array": false, "min_items": 2, "max_items": 4, "data_source": "MEASUREMENT" }, //15.09 КМ: Было X_array
"Cl": { "label": "Массовая доля органических хлоридов во фракции, выкипающей до температуры 204°С(Среднее)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": false, "allow_zero": false, "data_source": "AGGREGATION" },
"Xnef": { "label": "Массовая доля хлорорганических соединений в нефти", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" },
"X": { "label": "Массовая доля хлорорганических соединений в нефти (Среднее значение)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "AGGREGATION" }, //15.09. КМ: Было N
"Xnef_array_raw": { "label": "Массовая доля хлорорганических соединений в нефти (с коррекцией на выход фракции) - массив сырых измерений", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "is_array": true, "min_items": 2, "max_items": 4, "data_source": "CALCULATION" },
"Xnef_array": { "label": "Единичные результаты измерения массовой доли органических хлоридов в нефти (с коррекцией на выход фракции)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "is_array": true, "min_items": 2, "max_items": 4, "data_source": "CALCULATION" },
"N_array": { "label": "Массовая доля хлорорганических соединений в нефти - массив измерений", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "is_array": true, "min_items": 2, "max_items": 4, "data_source": "CALCULATION" },
"calc_diff": { "label": "Фактическое расхождение (Размах)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" },
"calc_r": { "label": "Повторяемость (сходимость)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" },
"calc_cr_3": { "label": "Критический диапазон CR(3)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" },
"calc_cr_4": { "label": "Критический диапазон CR(4)", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" },
"calc_final_result": { "label": "Окончательный результат измерения", "data_type": "float", "unit": "млн⁻¹", "resolution": 0.1, "is_mandatory": true, "allow_zero": false, "data_source": "CALCULATION" }
}
},
"process_definition": {
"operations": [
{
"operation_id": "op_qualitative_check",
"name": "Проверка на сероводород и неорг. хлориды",
"produces": ["S1", "S2"]
},
{
"operation_id": "op_distillation",
"name": "Отбор фракции 204 °C",
"preconditions": ["S1 == 'отсутствует'", "S2 == 'присутствует'"],
"equipment": ["eq_distillation", "eq_heater", "eq_cryostat", "eq_thermometer_dist", "eq_timer"],
"inputs": ["Vnef", "m1", "m2"],
"produces": ["mnf", "Vnf", "m3", "m4"]
},
{
"operation_id": "op_measurement",
"name": "Взвешивание стандарта и измерение XRF",
"preconditions": ["op_distillation.status == completed"],
"equipment": ["eq_balance_naft", "eq_cylinder_naft", "eq_xrf"],
"inputs": ["mst", "mnaft", "N"],
"produces": ["Cl"]
}
]
},
"calculation_definition": {
"ast_nodes": [
{
"id": "mnef",
"label": "Масса нефти",
"expression": "m2 - m1",
"unit": "г",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "mnf",
"label": "Масса нафты",
"expression": "m4 - m3",
"unit": "г",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "f",
"label": "Выход фракции нафты",
"expression": "(mnef = 0 ? 0 : mnf / mnef)",
"unit": "безразмерная",
"resolution": 0.01,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "Cl",
"label": "Массовая доля орг. хлоридов во фракции (Среднее)",
"expression": "average(N)",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "AGGREGATION"
},
{
"id": "Xnef_array_raw",
"label": "Массовая доля хлорорганических соединений в нефти (с коррекцией на выход фракции) - массив сырых измерений",
"expression": "map(N, x => x * f)",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float[]",
"is_array": true,
"min_items": 2,
"max_items": 4,
"data_source": "CALCULATION"
},
{
"id": "Xnef_array",
"label": "Массовая доля хлорорганических соединений в нефти - массив значений с коррекцией",
"expression": "map(N, x => x * f)",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float[]",
"is_array": true,
"min_items": 2,
"max_items": 4,
"data_source": "CALCULATION"
},
{
"id": "Xnef",
"label": "Массовая доля хлорорганических соединений в нефти (из одного измерения)",
"expression": "if(N.min_items > 0, X_array[0] * f, null)",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "N_array",
"label": "Массовая доля хлорорганических соединений в нефти - массив значений для агрегации",
"expression": "(Xnef = null ? Xnef_array : map(Xnef_array, x => if(size(N) > 1, x * f, x)))",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float[]",
"is_array": true,
"min_items": 2,
"max_items": 4,
"data_source": "CALCULATION"
},
{
"id": "N",
"label": "Массовая доля хлорорганических соединений в нефти (Среднее значение)",
"expression": "average(N_array)",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "AGGREGATION"
},
{
"id": "calc_diff",
"label": "Фактическое расхождение (Размах)",
"expression": "max(N_array) - min(N_array)",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "calc_r",
"label": "Повторяемость (сходимость)",
"expression": "0.3+0.05*X", //15.09.26 повторяемсть неверно указана 0.3+0.05*N. //15.09 КМ: Если берем нефть как формуле ГОСТ то д.б. X. В любом случае прошу проверить.
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "calc_cr_3",
"label": "Критический диапазон CR(3)",
"expression": "1.2 * calc_r",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "calc_cr_4",
"label": "Критический диапазон CR(4)",
"expression": "1.31 * calc_r",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
},
{
"id": "calc_final_result",
"label": "Окончательный результат измерения",
"expression": "(N = null ? Xnef_array[0] : if(size(N_array) == 4, if(calc_diff <= calc_cr_4, average(N_array), median(N_array)), if(size(N_array) == 3, if(calc_diff <= calc_cr_3, average(N_array), median(N_array)), N)))",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_type": "float",
"data_source": "CALCULATION"
}
]
},
"gum_uncertainty_budget": {
"description": "Бюджет неопределённости",
"result_field": "Xhn_V",//15.09.26 откуда это обозначение? КМ: у меня не было обозначений.
"formula": "X * (m4-m3)/(m2-m1) + Fpov + Fokr",// 15.09.26 X*(m4 - m3)/(m2 - m1) + Fpov + Fokr, убрать градуировку. КМ: устранено. Провьрить нужно X
"uncertainty_components": [
{
"component_id": "u(X)",
"label": "Неопределённость градуировки анализатора", //15.09.26 некорректное наименование. КМ: просьба указывать конкретно какую нужно.// 16.09.26 Неопределенность значения массовой доли хлорорганических соединений в нафте
"unit": "млн⁻¹",
"evaluation_type": "A",
"distribution": "normal",
"sensitivity_coefficient": "(m4-m3)/(m2-m1)",
},
{
"component_id": "u(m1)",
"label": "Неопределённость массы пустой круглодонной колбы",
"unit": "г",// 15.09.26 г. Проверить везде размерность
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "X*(m4-m3)/((m2-m1)^2)",
},
{
"component_id": "u(m2)",
"label": "Неопределённость массы круглодонной колбы с нефтью",
"unit": "г",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "-X*(m4-m3)/((m2-m1)^2)",
},
{
"component_id": "u(m3)",
"label": "Неопределённость массы пустого приемного цилиндра",
"unit": "г",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "-X/(m2-m1)",
},
{
"component_id": "u(m4)",
"label": "Неопределённость массы приемного цилиндра с нафтой",
"unit": "г",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "X/(m2-m1)",
},
{
"component_id": "u(Fpov)",
"label": "Неопределённость повторяемости",
"unit": "безразмерная⁻¹",
"evaluation_type": "A",
"distribution": "normal",
"sensitivity_coefficient": 1,
},
{
"component_id": "u(Fokr)",
"label": "Неопределённость округления",
"unit": "безразмерная",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": 1,
}
],
"combined_standard_uncertainty_formula": "uc = sqrt(sum(u(xi)^2 * c(xi)^2))",
"expanded_uncertainty_formula": "U = k * uc (при k=2 для 95% доверительной вероятности)",
"coverage_probability": "0.95",
"degrees_of_freedom": "effective"
},
"decision_workflow": {
"states": [
{
"state_id": "evaluate_repeatability_2",
"name": "Проверка приемлемости (2 измерения)",
"condition": "size(N) == 2",
"rule": "calc_diff <= calc_r",
"on_true": "accepted_series_of_2",
"on_false": "require_measurements_3_and_4"
},
{
"state_id": "evaluate_repeatability_3",
"name": "Проверка приемлемости (3 измерения)",
"condition": "size(N) == 3",
"rule": "calc_diff <= calc_cr_3",
"on_true": "accepted_average_of_3",
"on_false": "accepted_median_of_3_warning"
},
{
"state_id": "evaluate_repeatability_4",
"name": "Проверка приемлемости (4 измерения)",
"condition": "size(N) == 4",
"rule": "calc_diff <= calc_cr_4",
"on_true": "accepted_average_of_4",
"on_false": "accepted_median_of_4_warning"
}
]
},
"report_profile": {
"template_id": "GOST_52247_V_REPORT",
"system_fields": [
{ "field": "record_date", "source": "system.current_date", "label": "Дата проведения испытания" },
{ "field": "sample_id", "source": "system.sample_id", "label": "Номер образца" }, //ст3 // 15.09.26 Номер образца. КМ: Устранено
{ "field": "operator_name", "source": "system.current_user", "label": "Исполнитель (ФИО)" },
{ "field": "eq_distillation", "source": "eq_distillation", "label": "Аппарат для разгонки нефти" },
{ "field": "eq_heater", "source": "eq_heater", "label": "Колбонагреватель" },
{ "field": "eq_cryostat", "source": "eq_cryostat", "label": "Криотермостат" },
{ "field": "eq_cylinder_nef", "source": "eq_cylinder_nef", "label": "Цилиндр (объем нефти)" },
{ "field": "eq_cylinder_naft", "source": "eq_cylinder_naft", "label": "Цилиндр (объем нафты)" },
{ "field": "eq_balance_nef", "source": "eq_balance_nef", "label": "Весы для нефти" },
{ "field": "eq_balance_naft", "source": "Весы для нафты", "label": "Весы для нафты" },
{ "field": "eq_balance_vnnaft", "source": "eq_balance_vnnaft", "label": "Весы (масса внутреннего стандарта и нафты" },
{ "field": "eq_thermometer_dist", "source": "eq_thermometer_dist", "label": "Термометр (для получения нафты)" },
{ "field": "eq_thermometer_amb", "source": "eq_thermometer_amb", "label": "Термометр для определения температуры вокруг приемного цилиндра" },
{ "field": "eq_timer", "source": "eq_timer", "label": "Секундомер" },
{ "field": "eq_chlorine_analyzer", "source": "eq_chlorine_analyzer", "label": "Анализатор хлора" }
],
"journal_row_mapping": [
{ "header": "Объем нефти, см³", "source": "Vnef" },
{ "header": "Масса пустой колбы, г", "source": "m1" },
{ "header": "Масса колбы с нефтью, г", "source": "m2" },
{ "header": "Масса нефти, г", "source": "mnef" },
{ "header": "Скорость перегонки, см³/мин", "source": "tv" },
{ "header": "Объем отогнанной нафты, см³", "source": "Vnf" },
{ "header": "Масса цилиндра без нафты, г", "source": "m3" },
{ "header": "Масса цилиндра с нафтой, г", "source": "m4" },
{ "header": "Масса нафты, г", "source": "mnf" },
{ "header": "Выход фракции нафты", "source": "f" },
{ "header": "Результат качественной реакции на наличие неорганических хлоридов", "source": "S1" },
{ "header": "Результат качественной реакции на наличие сероводорода", "source": "S2" },
{ "header": "Масса нафты для испытания", "source": "mnaft" },
{ "header": "Масса внутреннего стандарта", "source": "mst" },
{ "header": "Массовая доля органических хлоридов во фракции, выкипающей до температуры 204°С, млн⁻¹", "source": "N" },
{ "header": "Массовая доля органических хлоридов во фракции, выкипающей до температуры 204°С, млн⁻¹(Среднее)", "source": "Cl" },
{ "header": "Массовая доля органических хлоридов в нефти", "source": "Xnef" },
{ "header": "Фактическое расхождение (Заключение по результатам контроля повторяемости", "source": "calc_diff" },
{ "header": "Предел повторяемости", "source": "calc_r" },
]
}
}
}