Общая информация
Контроллер оснащен двумя независимыми модулями интерфейса RS-485, предназначенными для организации связи по протоколу Modbus. Каждый интерфейс имеет свое назначение:
RS-485 (1) — предназначен для связи с каскадным контроллером КТР-121.02.4Х. Этот интерфейс обеспечивает обмен данными, необходимыми для совместной работы двух устройств.
RS-485 (2) — предназначен для организации диспетчеризации и связи с системами верхнего уровня (SCADA, диспетчерские пульты и т.д.).
Настройка интерфейса RS-485 (1) для связи с КТР-121.02.41
Для корректной работы контроллера в сети RS-485 (интерфейс 1) необходимо задать его сетевые параметры непосредственно на самом контроллере с помощью кнопок и индикатора на лицевой панели (см. рисунок). Настройки включают в себя:
Сетевой адрес (Slave ID) — уникальный адрес контроллера в сети Modbus.
Скорость передачи данных (Baud Rate) — скорость обмена данными по интерфейсу RS-485 (например, 9600, 19200, 38400, 57600, 115200 бит/с).
Паритет (Parity)— контроль четности (None, Even, Odd).
Стоповые биты (Stop Bits)— количество стоповых битов (1 или 2).
Точные значения этих параметров должны соответствовать настройкам КТР-121.02.4Х для обеспечения связи.
Функциональность контроллера в режиме Slave (Modbus)
Контроллер работает в режиме Slave (ведомого устройства) по протоколу Modbus и поддерживает следующие функции:
Чтение состояния входов/выходов (Read Input Status/Read Holding Registers)
Позволяет удаленно получать информацию о текущем состоянии дискретных и аналоговых входов, а также дискретных выходов контроллера.
Запись состояния выходов (Force Single Coil/Preset Multiple Registers)
Позволяет удаленно управлять состоянием дискретных выходов контроллера.
Чтение/запись сетевых переменных (Read Holding Registers/Preset Multiple Registers)
Позволяет удаленно считывать и записывать значения внутренних переменных контроллера, используемых для управления и регулирования.
Режим обмена Modbus (RTU/ASCII)
Контроллер автоматически распознает режим обмена данными Modbus:
Modbus RTU (Remote Terminal Unit)
Бинарный режим передачи данных, более компактный и эффективный.
Modbus ASCII (American Standard Code for Information Interchange)
Текстовый режим передачи данных, менее эффективный, но более простой для отладки.
Автоматическое распознавание режима позволяет использовать контроллер в сетях с разными типами устройств без необходимости ручной настройки.
Адреса регистров Modbus
Подробная информация об адресах регистров Modbus, типах переменных и их доступности (чтение/запись) приведена в отдельном разделе. Эта информация включает в себя:
Адреса регистров
Номера регистров Modbus, по которым доступны различные параметры контроллера.
Тип данных
Формат данных, хранящихся в регистрах (например, целое число, число с плавающей точкой, битовая маска).
Права доступа
Указание на возможность чтения (Read Only), записи (Write Only) или чтения/записи (Read/Write) для каждого регистра.
Эта информация является необходимой для программирования устройств верхнего уровня, которые будут взаимодействовать с контроллером по протоколу Modbus.

Карта регистров
Контроллер поддерживает следующие функции Modbus:
Функции чтения:
0x01 (Read Coil Status): Чтение состояния дискретных выходов (Coils).
0x03 (Read Holding Registers): Чтение содержимого регистров хранения (Holding Registers).
0x04 (Read Input Registers): Чтение содержимого входных регистров (Input Registers).
Функции записи:
0x05 (Force Single Coil): Запись состояния одного дискретного выхода (Coil).
0x06 (Preset Single Register): Запись значения в один регистр хранения (Holding Register).
0x10 (Preset Multiple Registers): Запись значений в несколько регистров хранения (Holding Registers).
Обращение к битам внутри регистров
Параметры, представленные в виде битовой маски (например, состояние системы, аварии и другие флаги), могут быть прочитаны двумя способами:
Функцией 0x03 (Read Holding Registers): в этом случае считывается весь регистр целиком, и далее программно извлекается нужный бит.
Функцией 0x01 (Read Coil Status): для прямого доступа к отдельному биту необходимо рассчитать адрес ячейки (Coil) по следующей формуле:
Адрес ячейки = (Номер регистра ∙ 16) + Номер бита
Пример
Требуется считать состояние второго дискретного выхода, используя функцию 0x01. Номер регистра 0, номер бита 1. Адрес ячейки рассчитывается следующим образом: (0 ∙ 16) + 1 = 1.Поддерживаемые типы данных Modbus
Контроллер поддерживает следующие типы данных Modbus:
word (Беззнаковое целое): 16-битное беззнаковое целое число (2 байта). Каждый параметр типа word занимает один регистр Modbus.
float (Число с плавающей точкой): 32-битное число с плавающей точкой (4 байта). Каждый параметр типа float занимает два соседних регистра Modbus. Данные передаются в формате little-endian (младший байт передается первым). Это означает, что при чтении значения float необходимо сначала считать регистр с меньшим адресом, а затем регистр со следующим по порядку адресом.
boolean (Бит): логический тип (1 бит). Может быть прочитано как с помощью функции 0x03 (чтение регистра), так и с помощью функции 0x01 (чтение отдельного бита/Coil).
Типы доступа к регистрам Modbus
Для каждого параметра в карте регистров указан тип доступа:
R (Только чтение - Read Only): значение параметра может быть только прочитано. Запись в данный регистр невозможна.
RW (Чтение/запись - Read/Write): значение параметра может быть как прочитано, так и записано.
W (Только запись - Write Only): значение параметра может быть только записано. Чтение из данного регистра невозможно.
Алгоритм 03.20
Код параметра | Регистр (HEX) | Регистр (DEC) | Тип | Доступ | Имя переменной | Значения |
|---|---|---|---|---|---|---|
bm_DO | 0 | 0 | word | R | Дискретные выходы контроллера | Битовая маска выходов |
ob_C1_Pump_1 | 0 | 0.0 | bool | R | DO1 – Первый циркуляционный насос первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C1_Pump_2 | 1 | 0.1 | bool | R | DO2 – Второй циркуляционный насос первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C1_Close | 2 | 0.2 | bool | R | DO3 – Закрыть КЗР первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C1_Open | 3 | 0.3 | bool | R | DO4 – Открыть КЗР первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Pump_1 | 4 | 0.4 | bool | R | DO5 – Первый циркуляционный насос второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Pump_2 | 5 | 0.5 | bool | R | DO6 – Второй циркуляционный насос второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Close | 6 | 0.6 | bool | R | DO7 – Закрыть КЗР второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Open | 7 | 0.7 | bool | R | DO8 – Открыть КЗР второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_LedWork | 8 | 0.8 | bool | R | Светодиод "Работа" | 0 – Не светит, 1 – Светит |
ob_LedAv | 9 | 0.9 | bool | R | Светодиод "Авария" | 0 – Не светит, 1 – Светит |
bm_DI | 100 | 256 | word | R | Дискретные входы контроллера | Битовая маска входов |
ib_C1_PDS | 1000 | 256.0 | bool | R | DI1 – PDS насосов циркуляции первого контура | 0 – Разомкнут, 1 – Замкнут |
ib_C2_PDS | 1001 | 256.1 | bool | R | DI2 – PDS насосов циркуляции второго контура | 0 – Разомкнут, 1 – Замкнут |
ib_C1_Summer | 1004 | 256.4 | bool | R | DI5 – Кнопка смены режима "Зима/Лето" первого контура | 0 – Разомкнут, 1 – Замкнут |
ib_C2_Summer | 1005 | 256.5 | bool | R | DI6 – Кнопка смены режима "Зима/Лето" второго контура | 0 – Разомкнут, 1 – Замкнут |
ib_Start | 1006 | 256.6 | bool | R | DI7 – Кнопка «Старт/Стоп» | 0 – Разомкнут, 1 – Замкнут |
ib_ResetAv | 1007 | 256.7 | bool | R | DI8 – Сброс аварий | 0 – Разомкнут, 1 – Замкнут |
PRM_Add | 203 | 515 | word | R | Дискретные входы ПРМ-1 (управление подпиткой) | Битовая маска входов ПРМ |
ib_C1_Add_PDS | 2030 | 515.0 | bool | R | DI1 – PDS на насосов подпитки первого контура | 0 – Разомкнут, 1 – Замкнут |
ib_C2_Add_PDS | 2031 | 515.1 | bool | R | DI2 – PDS на насосах подпитки второго контура | 0 – Разомкнут, 1 – Замкнут |
ib_C1_Add_PS | 2032 | 515.2 | bool | R | DI3 – Реле давления первого контура | 0 – Разомкнут, 1 – Замкнут |
ib_C2_Add_PS | 2033 | 515.3 | bool | R | DI4 – Реле давления второго контура | 0 – Разомкнут, 1 – Замкнут |
PRM_Add | 203 | 515 | word | R | Дискретные выходы ПРМ-1 (управление подпиткой) | Битовая маска выходов ПРМ |
ob_C1_Add_Pump_1 | 2038 | 515.8 | bool | R | DO1 – Насос подпитки №1 первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C1_Add_Pump_2 | 2039 | 515.9 | bool | R | DO2 – Насос подпитки №2 первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C1_Add_On | 203A | 515.10 | bool | R | DO3 – Клапан подпитки первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C1_AvGen | 203B | 515.11 | bool | R | DO4 – Лампа «Авария первого контура» | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Add_Pump_1 | 203C | 515.12 | bool | R | DO5 – Насос подпитки №1 второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Add_Pump_2 | 203D | 515.13 | bool | R | DO6 – Насос подпитки №2 второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Add_On | 203E | 515.14 | bool | R | DO7 – Клапан подпитки второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_AvGen | 203F | 515.15 | bool | R | DO8 – Лампа «Авария второго контура» | 0 – Разомкнут, 1 – Замкнут |
| Аналоговые входы прибора | ||||||
ia_C1_Twd | 20D | 525 | real | R | AI1 – Температура подачи первого контура потребителя | ** |
ia_C2_Twd | 20F | 527 | real | R | AI2 – Температура подачи второго контура потребителя | ** |
ia_C1_Pwd | 211 | 529 | real | R | AI3 – Давление подачи первого контура потребителя | ** |
ia_C2_Pwd | 213 | 531 | real | R | AI4 – Давление подачи второго контура потребителя | ** |
| Тип схемы | ||||||
mode_C1 | 217 | 535 | word | RW | Тип первого контура | 0 - ГВС, 1 - Отопление |
mode_C2 | 218 | 536 | word | RW | Тип второго контура | 0 - Отключен, 1 - Отопление |
| Насосы циркуляции (контур потребителя №1) | ||||||
mode_C1_Pump_1 | 242 | 578 | word | RW | Режим работы НЦ1 | 0 - Отключен, 1 - Основной, 2 - Резервный |
mode_C1_Pump_2 | 243 | 579 | word | RW | Режим работы НЦ2 | 0 - Отключен, 1 - Основной, 2 - Резервный |
| Насосы циркуляции (контур потребителя №2) | ||||||
mode_C2_Pump_1 | 244 | 580 | word | RW | Режим работы НЦ1 | 0 - Отключен, 1 - Основной, 2 - Резервный |
mode_C2_Pump_2 | 245 | 581 | word | RW | Режим работы НЦ2 | 0 - Отключен, 1 - Основной, 2 - Резервный |
| Насосы подпитки (контур потребителя №1) | ||||||
mode_C1_Add_1 | 246 | 582 | word | RW | Режим работы НП1 | 0 - Отключен, 1 - Основной, 2 - Резервный |
mode_C1_Add_2 | 247 | 583 | word | RW | Режим работы НП2 | 0 - Отключен, 1 - Основной, 2 - Резервный |
| Насосы подпитки (контур потребителя №2) | ||||||
mode_C2_Add_1 | 248 | 584 | word | RW | Режим работы НП1 | 0 - Отключен, 1 - Основной, 2 - Резервный |
mode_C2_Add_2 | 249 | 585 | word | RW | Режим работы НП2 | 0 - Отключен, 1 - Основной, 2 - Резервный |
| Регулирование (контур потребителя №1) | ||||||
ua_C1_Twd | 258 | 600 | real | RW | Уставка температуры подачи первого контура | 45...90 |
ua_C1_Twd_DZ | 25A | 602 | real | RW | Гистерезис или зона нечувствительности температуры подачи первого контура | 0...20 |
ua_C1_PID_Kp | 25C | 604 | real | RW | Коэффициент ПИД Кп первого контура | 0...999 |
ua_C1_PID_Ti | 25E | 606 | word | RW | Коэффициент ПИД Ти первого контура | 0...999 |
ua_C1_PID_Td | 25F | 607 | word | RW | Коэффициент ПИД Тд первого контура | 0...999 |
| Регулирование (контур потребителя №2) | ||||||
ua_C2_Twd | 263 | 611 | real | RW | Уставка температуры подачи второго контура | 45...90 |
ua_C2_Twd_DZ | 265 | 613 | real | RW | Гистерезис или зона нечувствительности температуры подачи второго контура | 0...20 |
ua_C2_PID_Kp | 267 | 615 | real | RW | Коэффициент ПИД Кп второго контура | 0...999 |
ua_C2_PID_Ti | 269 | 617 | word | RW | Коэффициент ПИД Ти второго контура | 0...999 |
ua_C2_PID_Td | 26A | 618 | word | RW | Коэффициент ПИД Тд второго контура | 0...999 |
| Режим экономии (контур №1) | ||||||
ua_C1_Ec_Night | 2BD | 701 | word | RW | Коррекция уставки ночью (первый контур) | 0 – Нет, –1...-40 |
ua_C1_Ec_Day | 2BE | 702 | word | RW | Коррекция уставки днем (первый контур) | 0 – Нет, –1...-40 |
ua_C1_Ec_WE | 2BF | 703 | word | RW | Коррекция уставки в выходные (первый контур) | 0 – Нет, –1...-40 |
| Режим экономии (контур №2) | ||||||
ua_C2_Ec_Night | 2C0 | 704 | word | RW | Коррекция уставки ночью (второй контур) | 0 – Нет, –1...-40 |
ua_C2_Ec_Day | 2C1 | 705 | word | RW | Коррекция уставки днем (второй контур) | 0 – Нет, –1...-40 |
ua_C2_Ec_WE | 2C2 | 706 | word | RW | Коррекция уставки в выходные (второй контур) | 0 – Нет, –1...-40 |
code_Error_1 | 2C6 | 710 | word | R | Код аварии 1 | Битовая маска аварий |
Av_Mod | 2С6D | 710.13 | bool | R | Нет связи с ПРМ (слот 1) | 0 – Норма, 1 – Авария |
code_Error_2 | 2C7 | 711 | word | R | Код аварии 2 | Битовая маска аварий |
Av_C1_Twd_Sens | 2C76 | 711.6 | bool | R | Обрыв датчика AI1 (температура подачи первого контура) | 0 – Норма, 1 – Авария |
Av_C2_Twd_Sens | 2C77 | 711.7 | bool | R | Обрыв датчика AI2 (температура подачи второго контура) | 0 – Норма, 1 – Авария |
Av_C1_Pwd_Sens | 2C78 | 711.8 | bool | R | Обрыв датчика AI3 (давление первого контура) | 0 – Норма, 1 – Авария |
Av_C2_Pwd_Sens | 2C79 | 711.9 | bool | R | Обрыв датчика AI4 (давление второго контура) | 0 – Норма, 1 – Авария |
code_Error_3 | 2C8 | 712 | word | R | Код аварии 3 | Битовая маска аварий |
Av_LostConn | 2C84 | 712.4 | bool | R | Нет связи с каскадным контроллером | 0 – Норма, 1 – Авария |
Av_C1_Add_NoWP | 2C88 | 712.8 | bool | R | Авария всех насосов подпитки первого контура | 0 – Норма, 1 – Авария |
Av_C2_Add_NoWP | 2C89 | 712.9 | bool | R | Авария всех насосов подпитки второго контура | 0 – Норма, 1 – Авария |
Av_C1_Twd_HAL | 2C8C | 712.12 | bool | R | Перегрев первого контура потребителя | 0 – Норма, 1 – Авария |
Av_C2_Twd_HAL | 2C8D | 712.13 | bool | R | Перегрев второго контура потребителя | 0 – Норма, 1 – Авария |
code_Error_4 | 2C9 | 713 | word | R | Код аварии 4 | Битовая маска аварий |
Av_C1_Pump_1 | 2C90 | 713.0 | bool | R | Неисправен циркуляционный насос № 1 контура 1 | 0 – Норма, 1 – Авария |
Av_C1_Pump_2 | 2C91 | 713.1 | bool | R | Неисправен циркуляционный насос № 2 контура 1 | 0 – Норма, 1 – Авария |
Av_C1_NoWP | 2C92 | 713.2 | bool | R | Нет рабочих насосов циркуляции в контуре потребителя 1 | 0 – Норма, 1 – Авария |
Av_C2_Pump_1 | 2C93 | 713.3 | bool | R | Неисправен циркуляционный насос № 1 контура 2 | 0 – Норма, 1 – Авария |
Av_C2_Pump_2 | 2C94 | 713.4 | bool | R | Неисправен циркуляционный насос № 2 контура 2 | 0 – Норма, 1 – Авария |
Av_C2_NoWP | 2C95 | 713.5 | bool | R | Нет рабочих насосов циркуляции в контуре потребителя 2 | 0 – Норма, 1 – Авария |
Av_C1_Add_Pump_1 | 2C96 | 713.6 | bool | R | Авария насоса подпитки №1 первого контура | 0 – Норма, 1 – Авария |
Av_C1_Add_Pump_2 | 2C97 | 713.7 | bool | R | Авария насоса подпитки №2 первого контура | 0 – Норма, 1 – Авария |
Av_C2_Add_Pump_1 | 2C98 | 713.8 | bool | R | Авария насоса подпитки №1 второго контура | 0 – Норма, 1 – Авария |
Av_C2_Add_Pump_2 | 2C99 | 713.9 | bool | R | Авария насоса подпитки №2 второго контура | 0 – Норма, 1 – Авария |
Av_Tao_Sens | 2C9C | 713.12 | bool | R | Неисправен датчик наружного воздуха | 0 – Норма, 1 – Авария |
Av_C1_Add | 2C9D | 713.13 | bool | R | Утечка в первом контуре | 0 – Норма, 1 – Авария |
Av_C2_Add | 2C9E | 713.14 | bool | R | Утечка во втором контуре | 0 – Норма, 1 – Авария |
| Оперативные параметры | ||||||
ia_Main_Twd | 2CB | 715 | real | R | Температура сети | ** |
Ia_Tao | 2CD | 717 | real | R | Температура наружного воздуха | ** |
lv_C1_Twd_SP | 2DA | 730 | word | R | Текущая уставка в контуре №1 | 0...500 |
lv_C2_Twd_SP | 2DB | 731 | word | R | Текущая уставка в контуре №2 | 0...500 |
code_C1_Sys | 2DD | 733 | word | R | Текущее состояние контура №1 | 0 – Откл 1 – Стоп 2 – Тест 3 – Работа 4 – Авария 5 – Лето 7 – Блок 8 – Эконом 9 – Приоритет |
code_C2_Sys | 2DE | 734 | word | R | Текущее состояние контура №2 | 0 – Откл 1 – Стоп 2 – Тест 3 – Работа 4 – Авария 5 – Лето 7 – Блок 8 – Эконом 9 – Приоритет |
ua_Twd_Shift | 2E0 | 736 | word | R | Сдвиг уставки температуры подачи сети | 0...30 |
oa_C1_Pwr | 2E1 | 737 | word | R | Процент открытия КЗР первого контура | 0...100 |
oa_C2_Pwr | 2E2 | 738 | word | R | Процент открытия КЗР второго контура | 0...100 |
net_SummPwr | 2EF | 751 | word | R | Суммарная мощность | |
net_code_Sys_4 | 2F4 | 756 | word | R | Код состояния системы 3 | Битовая маска |
cmd_C1_Start | 2F40 | 756 | bool | R | Переключение режимов Старт/Стоп первого контура | 0 – Стоп, 1 – Старт |
cmd_C2_Start | 2F41 | 756.1 | bool | R | Переключение режимов Старт/Стоп второго контура | 0 – Стоп, 1 – Старт |
lv_C1_IsWinter | 2F43 | 756.3 | bool | R | Режим "Зима" первого контура | 0 – Зима, 1 – Лето |
lv_C2_IsWinter | 2F44 | 756.4 | bool | R | Режим "Зима" второго контура | 0 – Зима, 1 – Лето |
lv_is_C1_Otp | 2F45 | 756.5 | bool | R | Тип контура 1 | 0 – Прямой, 1 – Смесительный |
lv_is_C2_Otp | 2F46 | 756.6 | bool | R | Тип контура 2 | 0 – Прямой, 1 – Смесительный |
lv_Prior_Full | 2F47 | 756.7 | bool | R | Увеличенная уставка сети при приоритете ГВС | 0 – Повышена, 1 – Не повышена |
lv_is_Pwd | 2F48 | 756.8 | bool | R | Наличие аналогового датчика давления в контурах | 0 – Нет, 1 – Есть |
ub_Is_Add | 2F49 | 756.9 | bool | R | Наличие подпитки | 0 – Нет, 1 – Есть |
net_Rctrl | 2F4F | 756.15 | bool | R | Тип управления | 0 – Местное, 1 – Внешнее |
cmd_1 | 2FE | 766 | word | W | Командное слово 1 | Битовая маска команд |
net_ResetAv | 2FE2 | 766.2 | bool | W | Сброс аварий | 0 – Нет, 1 – Да |
net_C1_Start | 2FE3 | 766.3 | bool | W | Старт контура №1 | 0 – Нет, 1 – Да |
net_C2_Start | 2FE4 | 766.4 | bool | W | Старт контура №2 | 0 – Нет, 1 – Да |
net_cmd_C1_Winter_ON | 2FEA | 766.10 | bool | W | Включить сезон "Зима" в контуре №1 | 0 – Нет, 1 – Да |
net_cmd_C2_Winter_ON | 2FEB | 766.11 | bool | W | Включить сезон "Зима" в контуре №2 | 0 – Нет, 1 – Да |
ub_Is_Add_ON | 2FEC | 766.12 | bool | W | Наличие подпитки в контурах отопления - Вкл | 0 – Нет, 1 – Да |
ub_Is_Pwd_ON | 2FED | 766.13 | bool | W | Контроль показаний давления в контурах - Вкл | 0 – Нет, 1 – Да |
cmd_2 | 2FF | 767 | word | W | Командное слово 2 | Битовая маска команд |
net_C1_Stop | 2FF3 | 767.3 | bool | W | Стоп контура №1 | 0 – Нет, 1 – Да |
net_C2_Stop | 2FF4 | 767.4 | bool | W | Стоп контура №2 | 0 – Нет, 1 – Да |
net_cmd_C1_Winter_OFF | 2FFA | 767.10 | bool | W | Выключить сезон "Зима" в контуре №1 | 0 – Нет, 1 – Да |
net_cmd_C2_Winter_OFF | 2FFB | 767.11 | bool | W | Выключить сезон "Зима" в контуре №2 | 0 – Нет, 1 – Да |
ub_Is_Add_OFF | 2FFC | 767.12 | bool | W | Наличие подпитки в контурах отопления - Выкл | 0 – Нет, 1 – Да |
ub_Is_Pwd_OFF | 2FFD | 767.13 | bool | W | Контроль показаний давления в контурах - Выкл | 0 – Нет, 1 – Да |
* Значения параметров в определенных конфигурациях или режимах системы.
** В зависимости от выбранного типа датчика диапазон измерения может меняться, для температурных датчиков см. таблицу . Для датчика давления диапазон измерения зависит от заданных границ преобразования, см. таблицу .