Диафрагмы

Диафрагмы (дроссельные шайбы) наружных теплопроводов: где стоят, сколько, какой диаметр и что показал расчёт.

Где найти
«Инструменты» (значок чемоданчика справа вверху) → Оборудование сети → «Диафрагмы». То же — палитрой команд: Ctrl+K и начните набирать название.
Права
доступно всем, кто вошёл.
Читаю как

Возможности

  • Плитки качества данных: «Готовы», «Нет линии», «Удалённая линия», «Нет топологии», «Нет состояния», «Количество», «Диаметр». Нажатие на плитку — отбор, повторное — снять.
  • Плитки режима диаметра: «Диаметр записан», «Ожидает расчёт», «Диаметр недоступен» — тоже отбор. Справочные плитки: «Некорректное количество», «С координатой».
  • Поиск по точному ID диафрагмы или линии, по месту установки, коду и наименованию узлов линии и узла-владельца схемы, регистрационному номеру линии и организации-владельцу. Фильтры «Качество данных», «Режим диаметра», «Место установки», «Состояние», «Признак линии».
  • Паспорт диафрагмы: «Сетевая привязка», «Паспорт диафрагмы», «Архивные реквизиты линии», «Расчётный режим», «Все поля записи».
  • «Редактировать свойства»: место установки, состояние, внутренний диаметр, количество последовательно установленных диафрагм, разрешение записи расчёта.
  • «На карте» — переход к диафрагме, если у линии есть геометрия.

Как это работает

Где хранятся данные. Диафрагма — линия (linesobj) с карточкой в таблице diaphragms (связь по lineid), как в десктопе ТГИД. Поля: место установки (throtdiaphloc), диаметр отверстия (diameterinternal, мм), количество последовательно установленных (consinstdiaphcount), признак «Разрешение записи расчёта» (entrymark), состояние (stateid, справочник states). Результат расчёта — таблица dro_out, карточка берёт последнюю по дате расчёта запись для линии.

Почти все записи — диафрагмы во внутренних схемах потребителей: места «Вход теплового пункта», «Подпорная», «Отопление», «Вентиляция», ГВС. Поле «Внутренний потребитель» показывает узел, которому принадлежит схема.

Качество данных считает сервер, проверки идут по порядку, запись получает первую сработавшую:

Плитка Условие
«Нет линии» линии из lineid нет в linesobj
«Удалённая линия» линия помечена удалённой
«Нет состояния» состояния нет в справочнике states
«Количество» количество пусто или ≤ 0
«Диаметр» диаметр не больше 0 и нет разрешения записи расчёта
«Нет топологии» у линии нет начального или конечного узла
«Готовы» все проверки пройдены

Плитка «Некорректное количество» считает все записи с количеством ≤ 0 или пустым. Поэтому она может быть больше плитки «Количество»: запись без линии попадает в «Нет линии».

Плитки проверяют только заполнение записи. Что расчёт не читает диафрагмы во внутренних схемах реальных потребителей (см. ниже), они не учитывают: такая запись тоже может быть «Готова».

Режим диаметра: диаметр > 0 — «диаметр записан»; диаметр 0 и поле «Разрешение записи расчёта» не пустое — «ожидает подбор расчётом»; иначе — «не определён».

Как диафрагму считает расчёт. Диафрагма на линии сети — ветвь с сопротивлением S = 10⁴ / d⁴ · n (м/(т/ч)²), где d — диаметр отверстия, мм, n — число диафрагм подряд. Потеря напора — S·G², G — расход, т/ч. Пустой или нулевой диаметр расчёт заменяет на 400 мм, нулевое количество — на 1. Проверка перед расчётом предупреждает: «Диафрагмы без диаметра отверстия — в расчёте 400 мм».

В расчёт попадают диафрагмы на линиях включённых фрагментов, кроме линий внутренних схем реальных потребителей. Дроссельные органы потребителя расчёт строит по карточке потребителя. При отметке «Расчёт дроссельных органов и запись сопротивлений» диаметры подбираются по формуле d = 10 · √(G / √H) мм, H — гасимый напор, м. Если диаметр меньше минимального из карточки, берётся минимальный, а напор пересчитывается: H = 10⁴ · G² / d⁴. Результат пишется в таблицу dr_out и в карточку потребителя (realconsumers). В таблицу diaphragms расчёт не пишет. Поэтому записи «ожидает подбор расчётом» после расчёта остаются с нулевым диаметром, а в паспорте такой диафрагмы — пояснение «Нулевой диаметр штатный: расчёт подберёт диаметр и покажет его в результатах, в паспорт диафрагмы он не записывается.»

Правка пишет пять полей таблицы diaphragms, проверяет версию строки и попадает в audit_log со старыми и новыми значениями.

Что нужно для работы

  • Смотреть — любой вошедший.
  • Править — право «Оборудование» → «Свойства» и включённая запись (MUTATIONS_ENABLED=true). При охвате «свои» правится только оборудование своих участков и узлов.
  • «Расчётный режим» появляется после сохранённого расчёта, в котором участвовала линия диафрагмы.

Шаги

  1. Откройте «Инструменты» и наберите в поиске «Диафрагмы» — пункт выделен рамкой.

    Пункт «Диафрагмы» в панели «Инструменты»

  2. Нажмите пункт — откроется окно.

    Окно «Диафрагмы»

  3. Плашки над списком — качество данных: сколько записей готовы, у скольких нет линии или топологии, не указано количество; отдельно — режимы диаметра (задан, ожидает подбора расчётом). Красные — критично, оранжевые — требуют внимания. Нажмите плашку — список сузится до таких записей.

    Диафрагмы: шаг 3

  4. В списке остались только записи с этой проблемой. Поиск (ID, линия, узел, место установки или владелец) и фильтры «Место установки», «Состояние», «Признак линии» работают вместе с отбором; «Сбросить» снимает всё, «Обновить» перечитывает журнал.

    Диафрагмы: шаг 4

  5. Кнопка в строке открывает паспорт диафрагмы: линия, количество, диаметр и результаты расчёта. Нулевой диаметр — не ошибка: расчёт подберёт его и покажет в результатах.

    Диафрагмы: шаг 5

Примеры

Копия Алматы. В diaphragms 16 719 записей. «Готовы» — 1, «Нет линии» — 2578, «Нет топологии» — 13 585, «Количество» — 443, «Диаметр» — 112. По режиму диаметра: записан — 5436, ожидает подбор расчётом — 10 909, не определён — 374. У 14 140 записей линия есть, но без узлов и без геометрии — это старые линии внутренних схем, поэтому «С координатой» — 1.

Сопротивление единственной готовой диафрагмы (копия Алматы). Диафрагма № 87473 на линии 388670, фрагмент 89: диаметр 20 мм, одна шайба. S = 10⁴ / 20⁴ · 1 = 0,0625 м/(т/ч)², то есть потеря напора — 0,0625·G² м.

Копия Астаны. 57 965 записей: «Готовы» — 40 107, «Диаметр» — 15 734, «Нет линии» — 1087, «Количество» — 684, «Удалённая линия» — 353. Из 56 507 записей с действующей линией 56 396 лежат во внутренних схемах реальных потребителей. Расчёт сети их не читает: дроссельные органы этих потребителей он подбирает по их карточкам.

Если не получается

  • Предупреждение «Старые линии диафрагм без полной топологии и геометрии…» — в базе есть записи без узлов линии; они видны на плитке «Нет топологии». Если таких записей нет, предупреждения нет.
  • «Результатов расчёта ещё нет: расход, потери напора и сопротивление не показаны и не подменяются нулями.» — в базе нет сохранённых результатов по диафрагмам.
  • В карточке «расчётный результат для этой диафрагмы отсутствует» — для линии нет записи в dro_out.
  • «Связанная линия не найдена в базе.» — линия удалена из базы; диафрагма — осиротевшая запись.
  • «Старая линия не содержит начальный и конечный узлы…» — показать на карте и посчитать такую диафрагму нельзя.
  • «Количество последовательно установленных диафрагм должно быть больше нуля.» — заполните количество.
  • «Диаметр не задан, а разрешение записи расчёта отсутствует.» — укажите диаметр отверстия.
  • «Состояние не найдено в справочнике состояний.» — выберите состояние из списка.
  • Поиск по месту установки находит слишком много — например, «Подпорная» даёт все подпорные диафрагмы. Сузьте отбор фильтрами «Место установки» и «Состояние».
  • «Запись изменена другим пользователем — обновите карточку» — нажмите «Перезагрузить объект» и повторите правку.
  • «Не удалось загрузить диафрагмы», «Не удалось открыть паспорт диафрагмы» — нет связи с сервером API.

Для администратора

  • Запись: MUTATIONS_ENABLED=true; право — действие «Свойства» для вида «Оборудование».
  • Таблицы десктопные: diaphragms, states, externalsignline, dro_out, dr_out, calculation; веб их не создаёт.
  • Профиль расчёта — HEATNET_PROFILE (legacy или fixed). Замена нулевого диаметра на 400 мм действует в обоих профилях.

Для разработчика

  • Чтение: GET /api/network-diaphragms/lookups, GET /api/network-diaphragms/items (page, page_size, quality_status, diameter_mode, state_id, external_sign_line_id, fragment_id, line_id, installation_place, search), GET /api/network-diaphragms/items/{diaphragm_id} — routers/equipment.py, database/network_diaphragms.py (search ищет и по месту установки). Предупреждение о старых линиях — при counts.topology_missing > 0.
  • Правка: GET|PUT /api/v1/equipment-edit/diaphragms/{row_id}; поля сверх карточки десктопа — EXTRA_FIELDS["diaphragms"] в routers/equipment_edit.py.
  • Расчёт: heatnet/physics/resistance.py (diaphragm_resistance), чтение линий — heatnet/io/source.py (line_objects), дроссели потребителей — heatnet/output/dross.py, heatnet/output/dross_sizing.py (washer, orifice), проверка нулей — heatnet/validate.py (LINE_DEFAULTS).
  • Веб: components/NetworkDiaphragmJournalDialog.vue, services/equipmentEditService.ts.
  • Тесты: API — tests/test_equipment_router.py, tests/test_equipment_edit_router.py, tests/test_throttling_calc.py; веб — tests/utils/equipmentEdit.spec.ts; e2e — e2e/functions/equipment-registries.spec.ts («Правка паспорта диафрагмы»: изменить место установки и вернуть прежнее).
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо