Files
Balsam_167/Doc/GAS_ADDRESS_ALLOCATION.md

7.3 KiB
Raw Blame History

Сквозная нумерация GAS: распределение адресов

Дата: 9 октября 2026 года.

УКСС выделен диапазон 0…11999: общий блок 0 и блоки узлов 1…11, по 1000 ID каждый. Соответствие технологических слов Modbus текущему профилю 167/v1 и новым ID УМП приведено в GAS_MODBUS_MAP.md. Новая нумерация назначена в документации; в прошивке пока действует профиль 167/v1.

Диапазоны проектов

В новой схеме числа без префикса 0x — десятичные. Каждому номеру узла соответствует блок 1000 адресов с базой номер × 1000.

Проект / семейство Первый ID Последний ID включительно Число адресов Статус
УКСС 0 11999 12000 Выделено: 12 блоков по 1000 ID
Остальные проекты 12000 65535 53536 Свободно для последующего распределения

Границы УКСС в hex: 0x0000…0x2EDF; свободная область начинается с 0x2EE0.

Резерв диапазона не означает, что каждый адрес уже реализован. Адреса обозначают логические 16-битные слова; память для незадействованных ID не выделяется. Параметр шириной 32 бита занимает два последовательных слова. Служебные слова также должны входить в выделенный диапазон проекта.

Узлы УКСС

Номера узлов: 1…11; 5 и 6 — УМП. Назначения 1…9 подтверждены в package.h; служебные адреса 10/11 определены в cntrl_adr.c.

Номер Назначение в текущем коде Обозначение
1 Трансформаторный узел 1 adr_TRN1
2 Трансформаторный узел 2 adr_TRN2
3 Силовой узел 1 adr_POW1
4 Силовой узел 2 adr_POW2
5 УМП 1, LOAD adr_LOA1
6 УМП 2, LOAD adr_LOA2
7 Узел ENG1 adr_ENG1
8 Пульт adr_PULT
9 Шкаф adr_SHKF
10 Универсальный адрес / адрес общей посылки CNTRL_ADDR_UNIVERSAL, ADDR_FOR_ALL
11 Адрес терминала ADDR_TERMINAL

Номер узла, тип платы Desk и ID параметра GAS — отдельные величины. Например, УМП 1 имеет Mode = 5, а тип обеих плат УМП равен dsk_LOAD = 6. Блок номера 10 зарезервирован для роли общего адреса; существующий номер 10 не идентифицирует отдельную физическую плату.

Назначенные блоки УКСС

Границы включительные. Все блоки содержат по 1000 слов, пересечений нет.

Область Первый ID, dec Последний ID, dec База, hex
Блок 0: общий резерв УКСС 0 999 0x0000
Трансформаторный узел 1, номер 1 1000 1999 0x03E8
Трансформаторный узел 2, номер 2 2000 2999 0x07D0
Силовой узел 1, номер 3 3000 3999 0x0BB8
Силовой узел 2, номер 4 4000 4999 0x0FA0
УМП 1, номер 5 5000 5999 0x1388
УМП 2, номер 6 6000 6999 0x1770
Узел ENG1, номер 7 7000 7999 0x1B58
Пульт, номер 8 8000 8999 0x1F40
Шкаф, номер 9 9000 9999 0x2328
Резерв роли общего адреса, номер 10 10000 10999 0x2710
Терминал, номер 11 11000 11999 0x2AF8

Правило адресации:

GAS_ID = номер_узла × 1000 + смещение
номер_узла = 0…11
смещение = 0…999

Технологические слова УМП

Для штатного технологического Modbus-адреса n = 0…127 в новой карте назначено смещение n:

УМП 1, номер 5: GAS_ID = 5000 + n → 5000…5127
УМП 2, номер 6: GAS_ID = 6000 + n → 6000…6127
Параметр Штатный Modbus, hex УМП 1: новый GAS, dec УМП 2: новый GAS, dec
Первое технологическое слово 0x0000 5000 6000
DAC_go 0x0050 5080 6080
DAC_stop 0x0051 5081 6081
LOAD_CAN_TIMEOUT 0x0052 5082 6082
LOAD_STATUS 0x007C 5124 6124
LOAD_ATTEMPTS 0x007D 5125 6125
LastMode 0x007E 5126 6126
Commands 0x007F 5127 6127

Смещения 128…999 в каждом блоке остаются резервом для расширений. Служебные параметры и новые данные в этих смещениях пока не назначены. Полная таблица всех 128 технологических слов: GAS_MODBUS_MAP.md.

Связь с текущей прошивкой

В существующей реализации база технологических GAS-регистров равна 0x5000 = 20480, а дескриптор находится на 0x5F00 = 24320. Это локальное окно профиля 167/v1, выбранное независимо от новой схемы сквозной нумерации.

Текущее 0x5000 не означает 5 × 1000: последнее вычисление даёт 5000 десятичных = 0x1388. Для адресации УМП 1 и УМП 2 по номеру узла потребуются разные базы, определяемые по Mode.

Штатные адреса Modbus, служебные окна регистратора, паспорта, защиты и EEPROM уже имеют собственные значения. При переносе сквозной карты нужно определить соответствие GAS ↔ адрес протокола: глобальный ID может отличаться от прежнего Modbus-адреса. Это позволяет отдельно согласовать новую нумерацию и совместимость существующих клиентов.

Диапазон УКСС и размеры блоков назначены. Перенос этих ID в обработчики прошивки и размещение служебных параметров в резерве — отдельные изменения реализации.