Загрузка данных
{
"method_definition": {
"identity_and_governance": {
"standard_id": "ГОСТ_Р_52247-2021",
"method_code": "В",
"revision": "Изменение № 2",
"title": "Нефть. Методы определения хлорорганических соединений (метод В)",
"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": {
"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": "Наличие/Отсутствие примесей по п. 7.4.3 ГОСТ",
"items": [
{ "id": "отсутствует", "label": "Реакция отсутствует" },
{ "id": "белый_осадок", "label": "Появление белого осадка (Неорганические хлориды)" },
{ "id": "желтый_осадок", "label": "Появление yellow-осадка (Иод, бром)" },
{ "id": "потемнение", "label": "Потемнение раствора (Наличие сероводорода)" },
{ "id": "черно_коричневый", "label": "Черно-коричневый осадок (Щелочная среда)" }
]
}
],
"equipment_roles": [
{
"id": "isp",
"label": "Аппарат для разгонки нефти (для получения нафты)",
"category": "TEST_EQUIPMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "vsp",
"label": "Колбонагреватель (для получения нафты)",
"category": "AUXILIARY_EQUIPMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "vsp3",
"label": "Криотермостат",
"category": "AUXILIARY_EQUIPMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "T",
"label": "Термометр (для получения нафты)",
"category": "MEASURING_INSTRUMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "Si1",
"label": "Термометр для определения температуры вокруг приёмного цилиндра",
"category": "MEASURING_INSTRUMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "eq_wdxrf",
"label": "Волнодисперсионный рентгенофлуоресцентный спектрометр WDXRF",
"category": "TEST_EQUIPMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "eq_cylinder_nef",
"label": "Цилиндр (объем нефти)",
"category": "MEASURING_INSTRUMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "eq_cylinder_naft",
"label": "Цилиндр (объем нафты)",
"category": "MEASURING_INSTRUMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "eq_timer",
"label": "Секундомер",
"category": "MEASURING_INSTRUMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "eq_balance_oil",
"label": "Весы для нефти",
"category": "MEASURING_INSTRUMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
},
{
"id": "eq_balance_naft",
"label": "Весы для нафты (аналитические)",
"category": "MEASURING_INSTRUMENT",
"metadata_schema": {
"type": "string",
"serial_number": "string",
"next_calibration_date": "string"
}
}
]
}
},
"observation_definitions": {
"system_fields": [
{
"field": "record_date",
"source": "system.current_date",
"label": "Дата проведения испытания"
},
{
"field": "sample_id",
"source": "system.sample_id",
"label": "Номер образца"
},
{
"field": "operator_name",
"source": "system.current_user",
"label": "Исполнитель (ФИО)"
}
],
"inputs": {
"hide": {
"label": "ГСО требует отгона нафты?",
"data_type": "string",
"is_mandatory": false,
"allow_zero": true
},
"Vr": {
"label": "Воды для промывки нафты",
"data_type": "string",
"is_mandatory": false,
"allow_zero": true
},
"S1": {
"label": "Результат качественной реакции на наличие неорганических хлоридов",
"is_mandatory": true,
"data_type": "enum",
"enum_ref": "enum_presence_absence",
"data_source": "MEASUREMENT"
},
"S2": {
"label": "Результат качественной реакции на наличие сероводорода",
"is_mandatory": true,
"data_type": "enum",
"enum_ref": "enum_presence_absence",
"data_source": "MEASUREMENT"
}
},
"primary_measurements": {
"Vnef": {
"label": "Объем нефти",
"data_type": "float",
"unit": "см³",
"resolution": 1.0,
"is_mandatory": true,
"allow_zero": false
},
"m1": {
"label": "Mass пустой круглодонной колбы",
"data_type": "float",
"unit": "г",
"resolution": 0.1,
"is_mandatory": true,
"allow_zero": false
},
"m2": {
"label": "Масса круглодонной колбы с нефтью",
"data_type": "float",
"unit": "г",
"resolution": 0.1,
"is_mandatory": true,
"allow_zero": false
},
"m3": {
"label": "Масса пустого приемного цилиндра",
"data_type": "float",
"unit": "г",
"resolution": 0.1,
"is_mandatory": true,
"allow_zero": false
},
"tv": {
"label": "Скорость перегонки",
"data_type": "float",
"unit": "см³/мин",
"resolution": 1.0,
"is_mandatory": true,
"allow_zero": true
},
"Vnf": {
"label": "Объем отогнанной нафты",
"data_type": "float",
"unit": "см³",
"resolution": 1.0,
"is_mandatory": true,
"allow_zero": false
},
"m4": {
"label": "Масса приемного цилиндра с нафтой",
"data_type": "float",
"unit": "г",
"resolution": 0.1,
"is_mandatory": true,
"allow_zero": false
},
"mst": {
"label": "Масса внутреннего стандарта висмута",
"data_type": "float",
"unit": "г",
"resolution": 0.001,
"is_mandatory": true,
"allow_zero": false
},
"mnaft": {
"label": "Масса нафты для испытания",
"data_type": "float",
"unit": "г",
"resolution": 0.01,
"is_mandatory": true,
"allow_zero": false
},
"X": {
"label": "Массовая доля хлорорганических соединений в нафте (параллели WDXRF)",
"data_type": "float[]",
"is_array": true,
"unit": "млн⁻¹",
"resolution": 0.1,
"is_mandatory": false,
"allow_zero": true
}
}
},
"process_definition": {
"operations": [
{
"operation_id": "op_qualitative_check",
"name": "Проверка на сероводород и неорганические хлориды",
"produces": [
"S1",
"S2"
]
},
{
"operation_id": "op_distillation",
"name": "Отбор фракции 204 градусов",
"preconditions": [
"S1 == 'отсутствует'",
"S2 == 'отсутствует'"
],
"equipment": [
"isp",
"vsp",
"vsp3",
"T",
"Si1",
"eq_cylinder_nef",
"eq_cylinder_naft",
"eq_timer",
"eq_balance_oil",
"eq_balance_naft"
],
"inputs": [
"Vnef",
"m1",
"m2"
],
"produces": [
"m3",
"m4",
"Vnf"
]
},
{
"operation_id": "op_wdxrf_analysis",
"name": "Внесение стандарта висмута и волнодисперсионный спектрометрический анализ",
"equipment": [
"eq_wdxrf",
"eq_balance_naft"
],
"inputs": [
"mst",
"mnaft",
"X"
],
"produces": [
"X"
]
}
]
},
"calculation_definition": {
"ast_nodes": [
{
"id": "mnef",
"label": "Масса нефти",
"expression": "m2 - m1",
"data_type": "float",
"unit": "г",
"resolution": 0.1,
"data_source": "CALCULATION"
},
{
"id": "mnf",
"label": "Масса нафты",
"expression": "m4 - m3",
"data_type": "float",
"unit": "г",
"resolution": 0.1,
"data_source": "CALCULATION"
},
{
"id": "f",
"label": "Выход фракции нафты",
"expression": "m2 - m1 == 0 ? 0.0 : round((m4 - m3) / (m2 - m1), 2)",
"data_type": "float",
"unit": "безразмерная",
"resolution": 0.01,
"data_source": "CALCULATION"
},
{
"id": "Cl",
"label": "Массовая доля органических хлоридов во фракции нафты средняя",
"expression": "size(X) == 0 ? 0.0 : average(X)",
"data_type": "float",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_source": "AGGREGATION"
},
{
"id": "Xnef",
"label": "Массовая доля хлорорганических соединений в нефти параллельная",
"expression": "[x_i * (m2 - m1 == 0 ? 0.0 : round((m4 - m3) / (m2 - m1), 2)) for x_i in X]",
"data_type": "float[]",
"is_array": true,
"unit": "млн⁻¹",
"resolution": 0.1,
"data_source": "CALCULATION"
},
{
"id": "N",
"label": "Массовая доля хлорорганических соединений в нефти средняя",
"expression": "size(Xnef) == 0 ? 0.0 : average(Xnef)",
"data_type": "float",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_source": "AGGREGATION"
},
{
"id": "calc_diff",
"label": "Фактическое расхождение результатов измерения",
"expression": "size(Xnef) < 2 ? 0.0 : max(Xnef) - min(Xnef)",
"data_type": "float",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_source": "CALCULATION"
},
{
"id": "calc_r",
"label": "Предел повторяемости по методу В",
"expression": "0.3 + 0.05 * N",
"data_type": "float",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_source": "CALCULATION"
},
{
"id": "calc_final_result",
"label": "Окончательный результат измерения",
"expression": "N < 1.0 ? 'менее 1.0 млн⁻¹' : (size(Xnef) >= 3 ? (calc_diff <= calc_r ? toString(round(N, 1)) : toString(round(median(Xnef), 1))) : toString(round(N, 1)))",
"data_type": "string",
"unit": "млн⁻¹",
"resolution": 0.1,
"data_source": "CALCULATION"
},
{
"id": "workflow_conclusion",
"label": "Заключение по результатам контроля повторяемости по ГОСТ Р ИСО 5725-6-2002",
"expression": "size(Xnef) == 2 ? (calc_diff <= calc_r ? 'Результат получен как среднее арифметическое значение 2-х измерений' : 'Метрологический допуск превышен! Требуется получить третье измерение по п. 5.2.2.2') : (size(Xnef) == 3 ? (calc_diff <= calc_r ? 'Результаты получены как среднее арифметическое значение результатов 3 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.2.' : 'Результаты получены как медиана результатов 3 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.2.') : (size(Xnef) == 4 ? (calc_diff <= calc_r ? 'Результаты получены как среднее арифметическое значение результатов 4 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.1.' : 'Результаты получены как медиана результатов 4 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.1.') : 'Неопределенный статус серии'))",
"data_type": "string",
"data_source": "CALCULATION"
}
]
},
"decision_workflow": {
"description": "Проверка приемлемости результатов измерений в условиях повторяемости по ГОСТ Р ИСО 5725-6-2002",
"states": [
{
"state_id": "evaluate_repeatability_2",
"name": "Первоначальное получение результатов двух измерений (п. 5.2.2.1)",
"condition": "size(Xnef) == 2",
"rule": "calc_diff <= calc_r",
"on_true": "accepted_average_of_2",
"on_false": "require_measurement_3"
},
{
"state_id": "evaluate_repeatability_3",
"name": "Проверка приемлемости при получении третьего измерения (п. 5.2.2.2 b)",
"condition": "size(Xnef) == 3",
"rule": "calc_diff <= calc_r",
"on_true": "accepted_average_of_3_by_52222",
"on_false": "accepted_median_of_3_by_52222"
},
{
"state_id": "evaluate_repeatability_4",
"name": "Проверка приемлемости при получении четырех измерений (п. 5.2.2.1)",
"condition": "size(Xnef) == 4",
"rule": "calc_diff <= calc_r",
"on_true": "accepted_average_of_4_by_5221",
"on_false": "accepted_median_of_4_by_5221"
}
]
},
"gum_uncertainty_budget": {
"description": "Бюджет неопределенности по GUM в соответствии с ГОСТ ISO/IEC 17025",
"result_field": "N",
"formula": "(Cl * (m4 - m3)) / (m2 - m1) + Fpov + Fokr",
"combined_standard_uncertainty_formula": "uc = sqrt(sum(pow(u_i * c_i, 2)))",
"expanded_uncertainty_formula": "U = k * uc",
"coverage_factor_k": 2.0,
"uncertainty_components": [
{
"component_id": "u(Cl)",
"label": "Неопределенность значения массовой доли ХОС в нафте на WDXRF",
"unit": "млн⁻¹",
"evaluation_type": "A",
"distribution": "normal",
"sensitivity_coefficient": "(m4 - m3) / (m2 - m1)"
},
{
"component_id": "u(m1)",
"label": "Неопределённость массы пустой круглодонной колбы (погрешность весов)",
"unit": "г",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "(Cl * (m4 - m3)) / pow((m2 - m1), 2)"
},
{
"component_id": "u(m2)",
"label": "Неопределённость массы круглодонной колбы с нефтью (погрешность весов)",
"unit": "г",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "-(Cl * (m4 - m3)) / pow((m2 - m1), 2)"
},
{
"component_id": "u(m3)",
"label": "Неопределённость массы пустого приемного цилиндра",
"unit": "г",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "-Cl / (m2 - m1)"
},
{
"component_id": "u(m4)",
"label": "Неопределённость массы приемного цилиндра с нафтой",
"unit": "г",
"evaluation_type": "B",
"distribution": "rectangular",
"sensitivity_coefficient": "Cl / (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
}
]
},
"report_profile": {
"template_id": "GOST_52247_V_REPORT",
"journal_row_mapping": [
{
"header": "Дата проведения испытания",
"source": "system_fields.record_date"
},
{
"header": "Номер образца",
"source": "system_fields.sample_id"
},
{
"header": "Исполнитель (ФИО)",
"source": "system_fields.operator_name"
},
{
"header": "Аппарат для разгонки нефти (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.isp.label, ' ', equipment_roles.isp.type, ', зав. № ', equipment_roles.isp.serial_number, ', дата след. работы: ', equipment_roles.isp.next_calibration_date)"
},
{
"header": "Колбонагреватель (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.vsp.label, ' ', equipment_roles.vsp.type, ', зав. № ', equipment_roles.vsp.serial_number, ', дата след. работы: ', equipment_roles.vsp.next_calibration_date)"
},
{
"header": "Криотермостат (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.vsp3.label, ' ', equipment_roles.vsp3.type, ', зав. № ', equipment_roles.vsp3.serial_number, ', дата след. работы: ', equipment_roles.vsp3.next_calibration_date)"
},
{
"header": "Термометр для разгонки (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.T.label, ' ', equipment_roles.T.type, ', зав. № ', equipment_roles.T.serial_number, ', дата след. работы: ', equipment_roles.T.next_calibration_date)"
},
{
"header": "Термометр приёмного цилиндра (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.Si1.label, ' ', equipment_roles.Si1.type, ', зав. № ', equipment_roles.Si1.serial_number, ', дата след. работы: ', equipment_roles.Si1.next_calibration_date)"
},
{
"header": "Цилиндр для нефти (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.eq_cylinder_nef.label, ' ', equipment_roles.eq_cylinder_nef.type, ', зав. № ', equipment_roles.eq_cylinder_nef.serial_number, ', дата след. работы: ', equipment_roles.eq_cylinder_nef.next_calibration_date)"
},
{
"header": "Цилиндр для нафты (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.eq_cylinder_naft.label, ' ', equipment_roles.eq_cylinder_naft.type, ', зав. № ', equipment_roles.eq_cylinder_naft.serial_number, ', дата след. работы: ', equipment_roles.eq_cylinder_naft.next_calibration_date)"
},
{
"header": "Секундомер (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.eq_timer.label, ' ', equipment_roles.eq_timer.type, ', зав. № ', equipment_roles.eq_timer.serial_number, ', дата след. работы: ', equipment_roles.eq_timer.next_calibration_date)"
},
{
"header": "Весы для нефти (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.eq_balance_oil.label, ' ', equipment_roles.eq_balance_oil.type, ', зав. № ', equipment_roles.eq_balance_oil.serial_number, ', дата след. работы: ', equipment_roles.eq_balance_oil.next_calibration_date)"
},
{
"header": "Весы для нафты (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.eq_balance_naft.label, ' ', equipment_roles.eq_balance_naft.type, ', зав. № ', equipment_roles.eq_balance_naft.serial_number, ', дата след. работы: ', equipment_roles.eq_balance_naft.next_calibration_date)"
},
{
"header": "Волнодисперсионный спектрометр (Тип, Зав. №, Дата следующей метрологической работы)",
"source": "concat(equipment_roles.eq_wdxrf.label, ' ', equipment_roles.eq_wdxrf.type, ', зав. № ', equipment_roles.eq_wdxrf.serial_number, ', дата след. работы: ', equipment_roles.eq_wdxrf.next_calibration_date)"
},
{
"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": "Показания анализатора ХОС",
"source": "X"
},
{
"header": "Массовая доля органических хлоридов во фракции нафты (Среднее), млн⁻¹",
"source": "Cl"
},
{
"header": "Массовая доля хлорорганических соединений в нефти (Среднее значение), млн⁻¹",
"source": "N"
},
{
"header": "Фактическое расхождение (Заключение по результатам контроля повторяемости)",
"source": "calc_diff"
},
{
"header": "Предел повторяемости",
"source": "calc_r"
},
{
"header": "Окончательный результат измерения",
"source": "calc_final_result"
},
{
"header": "Заключение по результатам контроля повторяемости",
"source": "workflow_conclusion"
}
]
}
}