Общая информация
Контроллер оснащен двумя независимыми модулями интерфейса 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.10
Код параметра | Регистр (HEX) | Регистр (DEC) | Тип | Доступ | Имя переменной | Значения |
|---|---|---|---|---|---|---|
bm_DO | 0 | 0 | word | R | Дискретные выходы контроллера | Битовая маска выходов |
ob_C1_Pump_1 | 0 | 0.0 | bool | R | DO1 – Циркуляционный насос первого контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Pump_1 | 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_Close | 4 | 0.4 | bool | R | DO5 – Закрыть КЗР второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C2_Open | 5 | 0.5 | bool | R | DO6 – Открыть КЗР второго контура | 0 – Разомкнут, 1 – Замкнут |
ob_C3_Pump_1 | 6 | 0.6 | bool | R | DO7 – Циркуляционный насос контура ГВС | 0 – Разомкнут, 1 – Замкнут |
ob_AvGen | 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_C3_PDS | 1002 | 256.2 | bool | R | DI3 – PDS насосов циркуляции контура ГВС | 0 – Разомкнут, 1 – Замкнут |
ib_C1_Summer | 1004 | 256.4 | bool | R | DI5 – Кнопка смены режима "Зима Лето" первого контура | 0 – Разомкнут, 1 – Замкнут |
ib_C2_Summer | 1005 | 256.5 | bool | R | DI6 – Kнопка смены режима "Зима Лето" второго контура | 0 – Разомкнут, 1 – Замкнут |
ib_Start | 1006 | 256.6 | bool | R | DI7 – Кнопка «Старт/Стоп» | 0 – Разомкнут, 1 – Замкнут |
ib_ResetAv | 1007 | 256.7 | bool | R | DI8 – Сброс аварий | 0 – Разомкнут, 1 – Замкнут |
| Аналоговые входы прибора | ||||||
ia_C1_Twd | 20D | 525 | real | R | AI1 – Температура подачи первого контура потребителя | ** |
ia_C2_Twd | 20F | 527 | real | R | AI2 – Температура подачи второго контура потребителя | ** |
ia_C3_Twd | 213 | 531 | real | R | AI4 – Температура подачи ГВС | ** |
| Тип схемы | ||||||
mode_C1 | 217 | 535 | word | RW | Тип первого контура | 0 - Отключен, 1 - Смесительный, 2 - Прямой |
mode_C2 | 218 | 536 | word | RW | Тип второго контура | 0 - Отключен, 1 - Смесительный, 2 - Прямой |
mode_C3 | 219 | 537 | word | RW | Тип третьего контура | 0 - Отключен, 1 - Включен |
ua_C1_Twd | 258 | 600 | real | RW | Уставка температуры подачи первого контура | 45...90 |
ua_C1_Twd_HDZ | 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_HDZ | 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 |
| Регулирование (контур потребителя №3) | ||||||
ua_C3_Twd | 26E | 622 | real | RW | Уставка температуры подачи контура ГВС | 45...90 |
ua_C3_Twd_Hist | 270 | 624 | real | RW | Гистерезис или зона нечувствительности температуры подачи контура ГВС | 0...20 |
| Режим экономии (контур №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 |
| Режим экономии (контур №3) | ||||||
ua_C3_Ec_Night | 2C3 | 707 | word | RW | Коррекция уставки ночью (контур ГВС) | 0 – Нет, -1…-40 |
ua_C3_Ec_Day | 2C4 | 708 | word | RW | Коррекция уставки днем (контур ГВС) | 0 – Нет, -1…-40 |
ua_C3_Ec_WE | 2C5 | 709 | word | RW | Коррекция уставки в выходные (контур ГВС) | 0 – Нет, -1…-40 |
code_Error_1 | 2C6 | 710 | word | R | Код аварии 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_Pwd_sens | 2C78 | 711.8 | bool | R | Обрыв датчика давления теплоносителя в общем трубопроводе | 0 – Норма, 1 – Авария |
Av_C3_Twd_Sens | 2C79 | 711.9 | bool | R | Обрыв датчика AI4 (температура третьего контура) | 0 – Норма, 1 – Авария |
code_Error_3 | 2C8 | 712 | word | R | Код аварии 3 | Битовая маска аварий |
Av_Pwd_HAL_2 | 2C82 | 712.2 | bool | R | Давление теплоносителя велико (аналоговый датчик давления) | 0 – Норма, 1 – Авария |
Av_Pwd_LAL_2 | 2C83 | 712.3 | bool | R | Давление теплоносителя мало (аналоговый датчик давления) | 0 – Норма, 1 – Авария |
Av_LostConn | 2C84 | 712.4 | 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 – Авария |
Av_C3_Twd_HAL | 2C8E | 712.14 | 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_C2_Pump_1 | 2C93 | 713.3 | bool | R | Неисправен циркуляционный насос № 1 контура 2 | 0 – Норма, 1 – Авария |
Av_C3_Pump_1 | 2C9A | 713.10 | bool | R | Неисправен циркуляционный насос контура 3 | 0 – Норма, 1 – Авария |
Av_Tao_Sens | 2C9C | 713.12 | 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 |
lv_C3_Twd_SP | 2DC | 732 | word | R | Текущая уставка в контуре №3 | 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 – Приоритет |
code_C3_Sys | 2DF | 735 | word | R | Текущее состояние контура №3 | 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.0 | bool | R | Переключение режимов Старт/Стоп первого контура | 0 – Стоп, 1 – Старт |
cmd_C2_Start | 2F41 | 756.1 | bool | R | Переключение режимов Старт/Стоп второго контура | 0 – Стоп, 1 – Старт |
cmd_C3_Start | 2F42 | 756.2 | 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 – Не повышена |
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_C3_Start | 2FE5 | 766.5 | bool | W | Старт контура №3 | 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 – Да |
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_C3_Stop | 2FF5 | 767.5 | bool | W | Стоп контура №3 | 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 – Да |
* Значения параметров в определенных конфигурациях или режимах системы.
** В зависимости от выбранного типа датчика диапазон измерения может меняться, для температурных датчиков см. таблицу . Для датчика давления диапазон измерения зависит от заданных границ преобразования, см. таблицу .