Порядок работы с последовательным портом регулятора ВТР10И (протокол обмена через порт RS 232 и размещение информации в памяти ВТР) 1 Протокол обмена с регуляторами ВТР 1.1 Связь ПК и ВТР осуществляется через последовательный интерфейс RS 232. Скорость обмена 9600 бод. Формат - старт бит, передаваемый байт, стоп-бит (без бита контроля четности). 1.2 Обмен данными позволяет: - определять текущее состояние прибора; - читать/изменять параметры; - считывать с ВТР архивные данные. 1.3 Инициатором обмена в сети является ПК. ВТР принимает блок данных (описание ниже) и, если его IP адрес (адрес ВТР) совпадает с принятым IP адресом, вычисляется контрольная сумма CRC (Cyclic Redundancy Code - Циклический Избыточный Код) блока данных. Если принятая контрольная сумма совпадает с вычисленной контрольной суммой, ВТР выполняет указанные в блоке данных действия и выдает на порт RS 232 сформированный блок данных. Если принятая контрольная сумма не совпадает с вычисленной, ВТР остается в режиме приема данных. 1.4 Структура блока данных, принимаемых ВТР 1.4.1 Три первых байта блока данных (равные 16h) являются байтами синхронизации. Следующий (четвертый) поступивший байт идентифицируется регулятором как командный, его структура приведена в таблице 2. Следующие два байта - IP адрес, (пятый - старший байт, шестой - младший). Седьмой байт содержит начальный адрес записываемых (считывыемых) байт в RAM или ERAM микропроцессора (диапазон значений адреса 0...FFh) или RAM энергонезависимой памяти (диапазон значений 0...7Fh). В восьмом байте задано количество записываемых (считывыемых) байт (1...10h). Следующие байты (их количество задано в восьмом байте) предназначены для содержимого адресов, заданных двумя предыдущими байтами. Предпоследний байт содержит CRC (на все предыдущие байты блока данных). Завершает сообщение байт, равный 04h. Структура блока данных приведена в таблице 1. Таблица 1 - структура блока данных, принимаемых ВТР ------------------------------------------------------------- Функциональное назначение байта * Значение ------------------------------------------------------------- Байт синхронизации * 16h ------------------------------------------------------------- Байт синхронизации * 16h ------------------------------------------------------------- Байт синхронизации * 16h ------------------------------------------------------------- Командный байт * (таблица 2) ------------------------------------------------------------- IP адрес старший байт * XXh ------------------------------------------------------------- IP адрес младший байт * XXh ------------------------------------------------------------- Начальный адрес записываемых/считывыемых байт * XXh ------------------------------------------------------------- Количество записываемых/считывыемых байт * 01 … 10h ------------------------------------------------------------- Значение записываемых/считывыемых байт * XXh ------------------------------------------------------------- CRC * XXh ------------------------------------------------------------- Байт завершения сообщения * 04h ------------------------------------------------------------- Таблица 2 - структура командного байта ------------------------------------------------------------- Бит * Значение * Описание ------------------------------------------------------------- 0 * 0 * Чтение ----------------------------------------------------- * 1 * Запись ------------------------------------------------------------- 1 * 0 * RAM_NVL - память энергонезависимая ----------------------------------------------------- * 1 * RAM_MCS - память микропроцессора ------------------------------------------------------------- 2 * 0 * Управление ИУ от микропроцессора ----------------------------------------------------- * 1 * Управление ИУ от ПК ------------------------------------------------------------- 3 * 0 * ----------------------------------------------------- * 1 * Чтение архива ------------------------------------------------------------- 4 * 0 * RAM_MCS - память микропроцессора ----------------------------------------------------- * 1 * ERAM_MCS - память микропроцессора ------------------------------------------------------------- 5 * 0 * ------------------------------------------------------------- 6 * 1 * ------------------------------------------------------------- 7 * 1 * ------------------------------------------------------------- 1.4.2 Структура командного байта позволяет сформировать следующие команды: - запись в RAM микропроцессора (C3h); - запись в ERAM микропроцессора (D3h); - запись в RAM знергонезависимое (C1h); - чтение из RAM микропроцессора (C2h); - чтение из ERAM микропроцессора (D2h); - чтение из RAM знергонезависимого (C0h); - управление ИУ (C5h); - чтение архива (C8h). Команды "управление ИУ" (C5h) и "чтение архива" (C8h) имеют некоторые особенности. Если в качестве командного байта используется C5h, то при управлении ИУ второго контура седьмой байт блока данных должен быть равным 00h, а для первого контура он равен 01h. Записываемый байт содержит время управления (в секундах), умноженное на 10. Если данный контур регулирования включен, то клапан открывается при значении байта больше трех (0,3 секунды) и закрывается при значении байта меньше минус трех. Если в качестве командного байта используется C8h (чтение архива), то седьмой байт блока данных и записываемый (девятый) равны 00h. 1.4.3 Для вычисления контрольной суммы CRC используется полином X8+X5+X4+1. 1.5 Структура блока данных, возвращаемых ВТР 1.5.1 После принятия команд "запись в RAM (ERAM)", "управление ИУ" и "чтение архива" ВТР возвращает в порт RS 232 весь принятый блок данных (подтверждение). 1.5.2 Если принятый блок данных содержит команду "чтение из RAM (ERAM)", ВТР возвращает в порт RS 232 принятый блок данных, в котором считанные байты соответствуют содержимому RAM (ERAM) и соответствующую контрольную сумма на все предыдущие байты блока данных. 1.5.3 Через интервал времени (не более секунды после принятия команды "чтение архива") ВТР выдает на порт RS 232 блок архивных данных. 1.6 Формат блока архивных данных 1.6.1 Данные передаются в кодах ASCII. 1.6.2 Выдаваемая регулятором информация состоит из строки заголовка и строк данных. Формат строки заголовка: ГГГ МММ ЧЧЧ 000 000 AB0 XXX YYY, где: ГГГ - год МММ - месяц ЧЧЧ - число 000 - резерв AB - номер заданной пользователем программы XXX - IP адрес, старший байт YYY - IP адрес, младший байт Заводская уставка адреса ВТР соответствует его заводскому номеру, приведенному на фирменной табличке. Если заводской номер ХХХУУ, то адрес ВТР будет ХХХ 0УУ Например №04168 - адрес 041068. Формат строки данных: +ЧЧЧ +HHH +MMM +(-)TTT +(-)TTT +(-)TTT +(-)TTT +(-)TTT +(-)TTT где: ЧЧЧ - число HHH - час MMM - минута +(-)TTT - значения температур в градусах Цельсия, соответственно T1 ... T6, причем Т1 - температура, измеренная датчиком D1, T2 - датчиком D2, ... , T6 - датчиком D6. Если к каким-то входам ВТР подключены дискретные датчики, то при замкнутом контакте датчика соответствующая Т имеет значение минус 81 градус, а при разомкнутом контакте (или если вход ВТР свободен) - минус 80 градусов. Параметры строк разделяются символами табуляции (09h). Строка заголовка заканчивается символом табуляции и символами "CR" (0Dh), "CR" и "LF" (0Ah). Строки данных заканчиваются символом табуляции и символом "CR". Окончание передачи - код 04h. 1.6.3 Период записи температур в архив ВТР равен 4 минутам. Максимальное количество строк данных - 1200. Время передачи данных не более 70 сек. 2 Размещение информации в памяти регулятора 2.1 Память ВТР разделяется на три типа: - RAM и ERAM микропроцессора, в которых хранится текущая информация (объем - 256 байт RAM и 256 байт ERAM); - RAM энергонезависимое, в котором хранятся архивные данные (объем - 8К) и рабочие уставки регулятора (объем - 128 байт). 2.2 Состояние регулятора определяется значением приведенных ниже битов. Например, если бит 0 байта 18h RAM микропроцессора установлен в "единицу", то контур 1 включен. Если номер программы регулятора 14 или 24 (то есть регулятор одноконтурный), то контур ОТП (ГВС) - контур 1. Для номера программы 33 контур приточной вентиляции - контур 2. 2.2.1 RAM микропроцессора: 18h.0 ; =1 контур 1 включен 18h.1 ; =1 режим ручной настройки первого контура 18h.2 ; =1 режим работы реле 1 - индикация неисправности (для номеров программ 14, 24) 18h.4 ; =1 режим работы реле контура 1 - управление насосом (если есть резерв, то резервным) 18h.5 ; =1 режим работы - управление основным насосом (для номеров программ 14, 24) 18h.6 ; =1 режим равномерного ресурса насосов (для номеров программ 14, 24) 18h.7 ; =1 работа насоса контура 1 - по условию 19h.0 ; =1 температурный график отопления контура 1 - свободный; =0 - "95/70" 19h.1 ; =1 температурный график отопления контура 1 To=f(Тн), если 19h.0 =1 ; =0 температурный график отопления контура 1 Tс=f(Тн), если 19h.0 =1 19h.2 ; =1 датчик работы резервного насоса - есть (для номеров программ 14, 24) 19h.3 ; =1 датчик работы основного насоса - есть (для номеров программ 14, 24) 19h.4 ; =1 датчик защиты насосов - есть (для номеров программ 14, 24) 19h.5 ; =1 датчик работы резервного насоса при аварии - разомкнут (для номеров программ 14, 24) 19h.6 ; =1 датчик работы основного насоса при аварии - разомкнут (для номеров программ 14, 24) 19h.7 ; =1 датчик защиты насосов при аварии - разомкнут (для номеров программ 14, 24) 1Bh.0 ; =1 контур 2 включен 1Bh.1 ; =1 режим ручной настройки второго контура 1Bh.4 ; =1 режим работы реле контура 2 - управление насосом 1Bh.7 ; =1 работа насоса контура 2 - по условию 1Ch.0 ; =1 температурный график отопления контура 2 - свободный; =0 - "95/70" 1Ch.1 ; =1 температурный график отопления контура 2 To=f(Тн), если 1Ch.0 =1 ; =0 температурный график отопления контура 2 Tс=f(Тн), если 1Ch.0 =1 1Ch.2 ; =1 ручной выбор режима "зима/лето" (контур - вентиляция) 1Ch.3 ; =1 летний режим (контур - вентиляция) 1Ch.4 ; =1 пуск приточной вентиляции - автоматический (контур - вентиляция) 21h.5 ; =1 в режиме равномерного ресурса - включение насоса резервного (контур - вентиляция) 25h.0 ; =1 назначение контура 1 - ОТП 25h.1 ; =1 назначение контура 1 - ГВС 25h.4 ; =1 назначение контура 2 - ОТП 25h.5 ; =1 назначение контура 2 - ГВС 25h.6 ; =1 назначение контура 2 - приточная вентиляция 25h.7 ; =1 программа работы с резервным насосом (номера программ 14, 24) 2Ah.6 ; =1 ИУ контура 1 открыто 2Ah.7 ; =1 ИУ контура 1 закрыто 2Bh.0 ; =1 отказ датчика температуры обратной воды 2Bh.1 ; =1 отказ датчика температуры наружного воздуха 2Bh.2 ; =1 отказ датчика температуры контура 1: смеси, (контур - отопление) или горячей воды, (ГВС) 2Bh.4 ; =1 отказ системы отопления контура 1 (если контур - отопление) 2Bh.5 ; =1 наличие хотя бы одного отказа контура 1 2Bh.6 ; =1 отказ питания термодатчиков 2Bh.7 ; =1 отказ таймера 2Ch.6 ; =1 ИУ контура 2 закрыто 2Ch.7 ; =1 ИУ контура 2 открыто 2Dh.0 ; =1 отказ резервного насоса (для номеров программ 14, 24), отказ датчика температуры обратной воды контура 2 (если контур - отопление) 2Dh.1 ; =1 отказ основного насоса (для номеров программ 14, 24), отказ датчика температуры наружного воздуха контура 2 (если контур - отопление) 2Dh.2 ; =1 отказ датчика температуры контура 2: смеси, (контур - отопление) или горячей воды, (ГВС) 2Dh.4 ; =1 отказ системы отопления контура 2 (если контур - отопление) 2Dh.5 ; =1 наличие хотя бы одного отказа контура 2 2Eh.0 ; =0 дежурный режим (контур - вентиляция) 2Eh.1 ; =1 режим регулирование (контур - вентиляция) 2Eh.2 ; =1 прогрев калорифера (контур - вентиляция) 2Eh.3 ; =1 перегрев обратной воды (регулирование по То, контур - вентиляция) 2Eh.6 ; =0 пуск приточной вентиляции (контур - вентиляция) 2.2.2 RAM энергонезависимое: 47h.5 ; =1 в режиме равномерного ресурса - включение насоса резервного 55h - сохранение состояние байта 18h RAM микропроцессора при отключении питающего напряжения 56h - сохранение состояние байта 19h RAM микропроцессора при отключении питающего напряжения 6Ah - сохранение состояние байта 1Bh RAM микропроцессора при отключении питающего напряжения 6Bh - сохранение состояние байта 1Ch RAM микропроцессора при отключении питающего напряжения 6Eh - сохранение состояние байта 25h RAM микропроцессора при отключении питающего напряжения 2.3 Текущие значения: 2.3.1 ERAM микропроцессора. В этой области памяти микропроцессора хранятся двухбайтовые числа текущих значений температур Т1 ... Т6. В первом байте хранится целая часть значения без знака, во втором - дробная часть и знак числа. Знак двухбайтового числа определяется младшим битом дробной части (если бит равен единице - число положительное, если равен нулю - число отрицательное). Значение дробной части равно значению байта (с младшим битом равным нулю), деленному на 256. Структура области памяти ERAM микропроцессора в зависимости от выбранного номера программы регулятора приведена в таблице 3. Таблица 3 - структура области памяти ERAM ------------------------------------------------------------- * Номер программы регулятора Адрес * 11 * 12 * 14 * 22 * 24 * 33 ------------------------------------------------------------- B6h, B7h * Т1 * Т1 * Т3 * Т2 * Т1 * Т1 ------------------------------------------------------------- B8h, B9h * Т2 * Т2 * Т5 * Т1 * Т3 * Т2 ------------------------------------------------------------- BAh, BBh * Т5 * Т5 * Т6 * Т5 * Т5 * Т5 ------------------------------------------------------------- BCh, BDh * Т6 * Т3 * Т4 * Т3 * Т4 * Т3 ------------------------------------------------------------- BEh, BFh * Т4 * Т4 * Т2 * Т4 * Т2 * Т4 ------------------------------------------------------------- С0h, С1h * Т3 * Т6 * Т1 * Т6 * Т6 * Т6 ------------------------------------------------------------- C4h - округленное целочисленное значение текущей температуры Т1 C5h - округленное целочисленное значение текущей температуры Т2 C6h - округленное целочисленное значение текущей температуры Т3 C7h - округленное целочисленное значение текущей температуры Т4 C8h - округленное целочисленное значение текущей температуры Т5 C9h - округленное целочисленное значение текущей температуры Т6 CBh - текущее значение задания регулируемой температуры контура 1 CCh - текущее значение задания регулируемой температуры контура 2 или приточной вентиляции 2.3.2 RAM энергонезависимое: 00h - текущее значение секунд 02h - текущее значение минут 04h - текущее значение часов 06h - текущее значение дня недели 07h - текущее значение числа 08h - текущее значение месяца 09h - текущее значение года 1Dh ... 21h - ресурс, выработанный основным насосом (старший байт - 1Dh) 24h ... 28h - ресурс, выработанный резервным насосом (старший байт - 24h) 52h - пароль доступа к технологическому меню 7Eh - IP адрес (старший байт) 7Fh - IP адрес (младший байт) 2.4 Рабочие уставки: 2.4.1 RAM энергонезависимое: 0Fh ... 1Ch - недельный график контура 1 (структура байта графика показана в таблицах 4 и 5), где 0Fh - воскресенье, первая точка перехода временного графика, ... , 1Ch - суббота, вторая точка перехода 1Dh ... 2Ah - недельный график контура 2 или приточной вентиляции, где 1Dh - воскресенье, первая точка перехода временного графика, ... , 2Ah - суббота, вторая точка перехода 2Bh ... 38h - временной график работы насоса по условию контура 1, если номер программы 11 или 12, где 39h - воскресенье, первая точка времени переключения насоса, ... , 46h - суббота, вторая точка времени переключения насоса 39h ... 46h - временной график работы насоса по условию, если номер программы 14 (или 11 контур 2), где 39h - воскресенье, первая точка времени переключения насоса, ... , 46h - суббота, вторая точка времени переключения насоса 48h - температура наружного воздуха для первой точки свободного графика контура 1 (ОТП) или графика То гр = f (Тн) (приточная вентиляция) 49h - температура смешанной (обратной) воды для первой точки свободного графика контура 1 (ОТП) или графика То гр = f (Тн) (приточная вентиляция) 4Ah - температура наружного воздуха для второй точки свободного графика контура 1 (ОТП) или графика То гр = f (Тн) (приточная вентиляция) 4Bh - температура смешанной (обратной) воды для второй точки свободного графика контура 1 (ОТП) или графика То гр = f (Тн) (приточная вентиляция) 4Ch - температура наружного воздуха для третьей точки графика То гр = f (Тн) 4Dh - температура обратной воды для третьей точки графика То гр = f (Тн) 4Eh,4Fh - коэффициент "A" контура 1 выражения для определения температуры Тс (То), соответствующей измеренной температура наружного воздуха Тн: Тс(То) = A x(Тн) + B (двухбайтовое число) 50h,51h - постоянная "B" контура 1 выражения для определения температуры Тс (То), соответствующей измеренной температура наружного воздуха Тн: Тс(То) = A x Тн + B (двухбайтовое число) 53h - первое значение задания температуры регулирования контура 1 в недельном графике (для отопления - снижение температуры) 54h - второе значение задания температуры регулирования контура 1 в недельном графике 57h - период регулирования контура 2 58h,59h - коэффициент пропорциональности контура 2 (двухбайтовое число) 5Ah - постоянная дифференцирования контура 2, умноженная на 10 5Ah - период регулирования контура 1 60h,61h - коэффициент пропорциональности контура 1 (двухбайтовое число) 62h - постоянная дифференцирования контура 1, умноженная на 10 68h - первое значение задания температуры регулирования контура 2 в недельном графике (для отопления - снижение температуры) 69h - второе значение задания температуры регулирования контура 2 в недельном графике 6Ch - температура наружного воздуха, при которой происходит включение насоса контура 1 при работе по условию 6Dh - температура наружного воздуха, при которой происходит выключение насоса контура 1 при работе по условию 6Eh - номер программы регулятора 6Fh - температура наружного воздуха для первой точки свободного графика контура 2 (ОТП) или время прогрева калорифера (приточная вентиляция) 70h - температура смешанной (обратной) воды для первой точки свободного графика контура 2 (ОТП) или температура перехода на зимний режим Тз (приточная вентиляция) 71h - температура наружного воздуха для второй точки свободного графика контура 2 (ОТП) или температура перехода на летний режим Тл (приточная вентиляция) 72h - температура смешанной (обратной) воды для второй точки свободного графика контура 2 (ОТП) или температура Тп авар (приточная вентиляция) 73h - аварийное отклонение То (-То - защита от замораживания) 74h - аварийное отклонение То (+То - защита от перегрева) 75h,76h - коэффициент "A" контура 2 выражения для определения температуры Тс (То), соответствующей измеренной температура наружного воздуха Тн: Тс(То) = A x(Тн) + B (двухбайтовое число) (ОТП) или температура Тк мин (приточная вентиляция) 77h,78h - постоянная "B" контура 2 выражения для определения температуры Тс (То), соответствующей измеренной температура наружного воздуха Тн: Тс(То) = A x Тн + B (двухбайтовое число) 79h - температура наружного воздуха, при которой происходит включение насоса контура 2 при работе по условию 7Ah - температура наружного воздуха, при которой происходит выключение насоса контура 2 при работе по условию 7Bh - задержка при включении насоса для анализа состояния датчика защиты от "сухого" включения контура 1 (t1) 7Ch - задержка при включении насоса для анализа состояния датчика защиты от "сухого" включения контура 2 (t1) или задержка при выключении насоса (t2) для анализа состояния датчика работы насоса, если номер программы 14, 24 Таблица 4 - структура байта недельного графика --------------------------------------------------------------------------- Бит * 7 * 6 * 5 * 4 * 3 * 2 * 1 * 0 --------------------------------------------------------------------------- * Часы (0...24) * 0 - 00 минут * Смотри * * 1 - 30 минут * таблицу 5 --------------------------------------------------------------------------- Таблица 5 - структура бит 0 и 1 байта недельного графика --------------------------------------------------------------------------- Состояние * ГВС * Отопление * Реле --------------------------------------------------------------------------- Бит 1 * Бит 0 * * * --------------------------------------------------------------------------- 0 * 0 * Отключен * Нет снижения * Выключено --------------------------------------------------------------------------- 0 * 1 * Первое значение * Первое значение * Включено * * задания * снижения * --------------------------------------------------------------------------- 1 * 0 * Второе значение * Второе значение * Выключено * * задания * снижения * --------------------------------------------------------------------------- 0 * 0 * Отключен * Нет снижения * Включено ---------------------------------------------------------------------------