ФОРУМ КУПИТЬ

Последние статьи

ВСЕ СТАТЬИ

Учет расхода газа или дальнейшее изучение взаимодействия с котлом Vaillant

07/04/2010 18:57:25

Газовый счетчик Metrix G10Одна из важных функций Умного Дома - учет и анализ расхода ресурсов. Некоторое время назад я подключил с помощью USB/CAN адаптера свой электросчетчик Меркурий 230 и написал собственную программу считывания показаний. Это позволило не только вести учет расхода электроэнергии в целом и отдельно по фазам, но и воочию, детально наблюдать параметры электроснабжения. Записывая все значения в базу данных и используя такие библиотеки как jpGraph и Open Flash Chart 2, в Web-интерфейсе Умного Дома я вывел несколько полезных графиков. Таким образом я имею возможность отслеживать потребление не только по месяцам, но и по дням, часам, минутам и даже секундам! Совсем другое дело обстоит с учетом потребления газа. Механический газовый счетчик не имеет никаких интерфейсов, поэтому считывание и запись показаний в БД возможна только вручную. Но если раз в месяц, если не забывать, еще можно записать показания счетчика, то делать это каждый день крайне утомительно. Таким образом появился вопрос - можно ли как-то учитывать потребление газа автоматически?

Безусловно, существуют системы автоматического учета потребления газа со всеми необходимыми интерфейсами и протоколами, но стоимость такого оборудования, программного обеспечения, согласования монтажа этой системы со всеми газовыми инстанциями и собственно самого монтажа выльется в копеечку. Оптическое считывание информации с табло счетчика в принципе возможно. Квитанции об уплате штрафа за нарушение правил дорожного движения с фотографией на память тому подтверждение. И ведь в целом не обязательно фотографировать и распознавать целиком табло (для чего требуется фотокамера и освещение), можно привязать какое-нибудь устройство к конкретной точке или сектору на дисковом табло. Например, часто проход через ноль закрашен красным (более темным) цветом. Но вид увешенного проводами счетчика вряд ли будет воспринят представителем газоснабжающей организации с энтузиазмом. Как еще можно учитывать потребление газа? У меня появилась идея подключить модуль на базе DS2406P (точно так же как я это уже делал с насосом Grundfos MQ) параллельно с газовым клапаном котла. Газовый клапан открыт только в процессе сжигания газа, а значит учитывая время его работы и зная номинальное расход газа котлом (указано в документации и постоянно для немодулирующих горелок) можно довольно точно учитывать потребление газа. Выход? Конечно. Но мой котел оснащен продвинутой электроникой. Может быть он сам ведет учет работы газового клапана? Оказывается ведет! Детально изучив документацию я нашел регистр, который отвечает за такой учет. Называется он "Время работы котла в режиме отопления" и измеряется в часах. Зная, что мой котел потребляет 4,7м3 газа в час необходимо только перемножить эти значения. Конечно, такой учет не будет абсолютно точным, поскольку, по всей вероятности, номинальное потребление зависит от давления в магистрали. Также не стоит забывать, что могут быть другие потребители, такие как газовая плита. Однако сделав расчеты я пришел к выводу, что газовое отопление потребляет по меньшей мере 90% от всего потребления газа в год. А если прибавить 10% к тому, что потребил котел, получится фактически то число, которое отображается счетчиком. Но тут случилась загвоздка. Я не знал какой командой получить значение этого регистра...

Vaillant DIA SystemВ предыдущей статье я рассказал о том, как мне удалось подключить котел Vaillant atmoVIT к персональному компьютеру посредством RS-232 интерфейса. У меня также получилось заглянуть в протокол общения между программой vrDIALOG и котлом. И хотя у меня по-прежнему нет описания протокола, эмпирически получен некоторый список команд, с помощью которых я могу получать многие параметры работы котла, а также и задавать свои значения в те регистры, которые допускают запись. И все дело в том, что программа vrDIALOG, видимо, адаптируется к варианту (модели) оборудования. И хотя в демо-режиме программа отображала регистр, отвечающий за время работы котла в режиме отопления, будучи подключенной к моему котлу, она это значение в закладке Диагностика не отображала. Поэтому мне пришлось немного глубже коснуться протокола Vaillant и представить более детальное описание с указанием фактических команд и регистров системы DIA.

Напомню, что котлу посылаются команды вида: x07x00x00x00xC2x01x7C
 vrDIALOG формирует команды размером 7 байт

1 байт: длина команды, включая контрольную сумму
2 байт: запрос значения 00h или запись значения 80h, 03h в ответе котла означает ошибку
3-... байты: команды котлу и ответы котла
последний байт: 8-bit CRC

За что отвечает 6 байт стандартной команды выяснить не удалось, так как независимо от значения этого поля, котел возвращает одинаковые значения. В немецких источниках есть предположение, что это длина ожидаемых данных, но котел, видимо, игнорирует это поле.

Алгоритм CRC я бы назвал нестандартным. Во всяком случае ничего подобного мне никогда не попадалось. Пример на PHP (переделать на C займет 2,5 секунды)

function get_crc($crc, $my_char)
{
	$short_c = ord($my_char);
	if ( $crc & 0x80 )
	$crc = ( $crc << 1 ) ^ 25;
	else
	$crc = $crc << 1;
	$crc &= 0xFF;
	$crc ^= $short_c;
	return $crc;
}

Таким образом, диапазон значений, который используется для передачи команд от 0 до 256. С помощью vrDIALOG удалось выяснить только некоторые команды. Имея функцию работы с CRC я написал простейшую программу, которая по очереди отправляет котлу команды из всего диапазона возможных значений. Конечно, PHP не лучший вариант для написания такого рода "драйверов", но иногда и микроскопом гвозди забивают.

for ( $i = 1; $i < 255; $i++ )
{
	sleep(1);
	$my_cmd = "x07x00x00x00".chr($i)."x02";
	$crc = get_crc($my_cmd);
	$my_cmd = $my_cmd.chr($crc);
	fwrite($fp, $my_cmd);

	unset($crc_ok);
	unset($result);
	unset($my_cnt);
	echo $i." - ";
	while ( $crc_ok == 0 )
	{
		$my_cnt++;
		$result .= fread($fp, 1);

		$crc = get_crc($result, 1);

		if ( ord($result[0]) == 3 )
		{
			echo "Error";
			$result .= fread($fp, 2);
			$crc_ok = 1;
		}
		elseif ( ord($result[strlen($result) - 1]) == $crc )
		{
			$crc_ok = 1;
			for ( $j = 0; $j < $my_cnt; $j++ )
			echo dd($result[$j]);
		}

	}
}

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

BIN HEX Ответ котла Значение Описание DIA
1 01 050002301c ? 35 ??? ???
3 03 0400f0e0 ? - ??? ???
4 04 050000f0d8 15 С Расчетная температура бойлера d.7
5 05 04000f1f ? + ? Сигнал наличия пламени* ???
6 06 0e00ffffffffffffffffffffff3b ??? ? Информация об ошибках* ???
7 07 0400f0e0 ? - ??? ???
8 08 04000111 1 Режим (1 - Зима; 0 - Лето) d.23
9 09 050003e8c6 ? 1000 ??? ???
10 0A 05000283af ? 643 ??? ???
11 0B 050002bc90 ? 700 ??? ???
13 0D 04000f1f ? + ??? ???
14 0E 04000111 1 Комнатный термостат (1 - ВКЛ; 0 - ВЫКЛ) d.8
17 11 04000010 0 ??? ???
20 14 08000297fd6800c1 41,50 C Температура отходящих газов d.48
21 15 0800ffff000055a7 ??? ??? ???
22 16 0600ff21aa5f  -13,94 С Датчик расхода ГВ ???
23 17 0600ff21aa5f  -13,94 С Температура бойлера d.4
24 18 060003c400fd  60,25 C Температура подающей линии d.40
25 19 050003d0fe  61 C Заданное значение температуры подачи d.5
26 1A 04000010 0 ??? ???
30 1E 04000010 0 ??? ???
31 1F 04000a1a 10 Число сбоев автомата розжига d.61
32 20 04000010 0 Число отключений по тепловой защите d.60
33 21 04000212 2 ??? ???
34 22 0500000028 0 Часы работы на ГВС d.81
35 23 0500000028 0 Количество стартов горелки на ГВС d.83
36 24 0500000028 0 ? Номинальный расход* ???
37 25 050005a082 90 С Расчетная температура подачи внешнего 7-8-9 регулятора d.9
38 26 0d001c1c9c1c1c1c1d1c1c1cb3 ??? ??? ???
40 28 0500179e98 6046 Часы работы на отопление d.80
41 29 0500017d57 381 Количество стартов горелки на отопление d.82
42 2A 0b002d1600fb0001951c61 ??? ??? ???
43 2B 0b000000000000000000df 0 ??? ???
44 2C 04002434 3,6 c Максимальное время розжига d.65
45 2D 04001505 2,1 c Среднее время розжига d.64
46 2E 050003634d ? 867 ??? ???
50 32 050000f0d8 ? - ??? ???
51 33 050003614f ? 865 ??? ???
52 34 0500000028 0 ??? ???
54 36 0500000028 0 ??? ???
55 37 0500061e3a ? 1566 ??? ???
56 38 04000010 0 ? Блокировка горелок* ???
57 39 050003d0fe 61 С ? Заданное значение температуры подачи* ???
60 3C 04000111 1 ??? ???
62 3E 04000010 0 ??? ???
63 3F 04000111 1 Внешний насос отопления d.11
64 40 04000111 1 ? Пламя/газовый клапан/горелки (1 - ВКЛ) ???
65 41 0500000028 0 ? Прогноз времени до отключения горелок ???
66 42 04000010 0 ? VUV* ???
67 43 04000111 1 ??? ???
68 44 04000111 1 Встроенный насос d.10
69 45 04000010 0 VUV Mittenstellung ???
70 46 0400f0e0 ? 240 ??? ???
71 47 04000f1f ? + ??? ???
72 48 0400f0e0 ? - ? Состояние газового клапана* ???
73 49 0400f0e0 ? - ? Состояние розжига* ???
74 4A 04000010 0 ??? ???
75 4B 0500000028 0 ??? ???
76 4C 04000a1a ? 10 ??? ???
77 4D 0400f0e0 ? - ??? ???
78 4E 04000f1f ? + ??? ???
79 4F 04000f1f ? + ??? ???
80 50 04000f1f ? + ??? ???
81 51 04000f1f ? + ??? ???
82 52 0400f0e0 ? - ??? ???
83 53 0400f0e0 ? - ??? ???
84 54 04000010 0 ??? ???
85 55 0500000028 0 ??? ???
87 57 04000010 0 ??? ???
88 58 04000010 0 Запрос нагрева бойлера через контакты C1/C2 d.22
90 5A 04000010 0 ??? ???
91 5B 04000010 0 ??? ???
92 5C 0500000028 0 ??? ???
93 5D 04000010 0 ??? ???
94 5E 04000010 0 ??? ???
95 5F 04000010 0 ??? ???
97 61 04000010 0 ??? ???
99 63 04001202 180 сек Выбег насоса после отключения бойлера d.72
100 64 04001e0e 30 мин Выбег насоса после отключения горелок d.01
101 65 04000010 0 Корректировка значения наружной темп. d.46
102 66 04002d3d 45 мин Максимальное время нагрева бойлера d.75
103 67 04000010 0 ??? ???
104 68 0a0000000000000000fa 0 ??? ???
105 69 04000010 0 Статус сигнала DCF d.91
106 6A 0600fc39aa63 -60,44 Значение наружной температуры d.47
107 6B 06000092aaf7 ? 9,16 ??? ???
108 6C 04000010 0 ??? ???
109 6D 04000010 0 ??? ???
110 6E 04000b1b 11 Число безуспешных розжигов с 1 попытки d.68
111 6F 04000a1a 10 Число безуспешных розжигов со 2 попытки d.69
112 70 04000010 0 ??? ???
113 71 04000111 1 Старт ГВЛ по таймеру ???

???

d.25

114 72 04000010 0 ??? ???
115 73 0500fcec25 64768 Ток ионизации ???
116 74 04000010 0 Имеется регулятор с обратной связью d.90
117 75 04000010 0 ??? ???
118 76 0600fc39aa63 -60,44 C ??? ???
119 77 0400f0e0 ? - ??? ???
121 79 04000010 0 ??? ???
122 7A 04000010 0 ??? ???
123 7B 04000010 0 ??? ???
124 7C 0500000028 0 ??? ???
125 7D 0500060024 ? 96 ??? ???
126 7E 04000212 2 ??? ???
127 7F 0500000028 0 ??? ???
128 80 050003e8c6 ? 1000 ??? ???
129 81 050003d0fe ? 976 ??? ???
130 82 04000010 0 ??? ???
131 83 0500000028 0 ??? ???
132 84 0500000028 0 ??? ???
134 86 04000010 0 ??? ???
137 89 04000111 1 ??? ???
138 8A 04000212 2 ??? ???
139 8B 0400f0e0 ? - ??? ???
140 8C 04000010 0 ??? ???
142 8E 04000010 0 ??? ???
143 8F 0c00f03e2418600007000084 ??? ??? ???
144 90 0500000028 0 ??? ???
145 91 0500000028 0 ??? ???
146 92 04000616 6 ??? ???
147 93 04000212 2 ??? ???
148 94 04000010 0 ??? ???
153 99 04000212 2 ??? ???
154 9A 08000009fff60058 ??? ??? ???
155 9B 04000010 0 ??? ???
157 9D 04000717 7 с Сдвиг значения горячего старта (?) d.73
158 9E 04000010 0 Насос обогрева бойлера d.12
160 A0 04000212 2 ??? ???
161 A1 04000010 0 ??? ???
165 A5 04004353 67 C Макс. температура подачи отопление d.71
166 A6 04005545 85 C Макс. температура подачи ГВС d.78
169 A9 04000111 1 Частичный нагрев бойлера ??? ???
170 AA 04000010 0 ??? ???
171 AB 04000717 7 Коды состояния (напри. S.07) S.*
172 AC 05000bc2fc 3010 Число часов до следующего обслуживания d.84
175 AF 04000010 0 Циркуляционный насос ГВС d.13
176 B0 04000010 0 ??? ???
179 B3 04000010 0 ? Состояние обратного контроля* ???
180 B4 04000010 0 ??? ???
181 B5 0400ffef ? 255 ??? ???
182 B6 0600ff21aa5f -13,94 Температура бойлера СК внизу d.42
184 B8 060000000060 0 С Температура коллектора ??? ???
185 B9 0500000028 0 ??? ???
186 BA 04000010 0 ??? ???
187 BB 04000111 1 ??? ???
188 BC 04000010 0 ??? ???
189 BD 04000010 0 ??? ???
190 BE 0500000028 0 ??? ???
191 BF 04000010 0 ??? ???
192 C0 04000010 0 ??? ???
193 C1 04000010 0 ??? ???
194 C2 04002333 35 C Минимальная температура подачи d.85
195 C3 04000212 2 C Гистерезис включения d.51
196 C4 04000616 6 C Гистерезис выключения d.50
197 C5 0400f0e0 ? - ??? ???
198 C6 04000010 0 ??? ???
199 C7 04000010 0 ??? ???
200 C8 04000010 0 ??? ???
202 CA 04000f1f ? + ??? ???
203 CB 04000010 0 ??? ???
204 CC 0900000000000000e4 0 ??? ???
207 CF 0900000000000000e4 0 ??? ???
223 DF 04000010 0 Насос СК ??? ???
224 E0 04000010 0 ??? ???
225 E1 04004656 70 С Максимальная расч. температура бойлера d.20
231 E7 04000414 4 ??? ???
232 E8 04000212 2 ??? ???

Кроме вышеперечисленных ответов, котел может вернуть сообщения типа:

030602 - Значение успешно записано в регистр.
030107 - Возможно, ошибка контрольной суммы.
030305 - Ошибка. Некорректная команда.

Отдельный интерес представляет команда ABh, с помощью которой можно получить информацию о текущем статусе котла. Этот статус в документации Vaillant описан как S.01, S.02. Таким образом можно обращаться как к отдельным регистрам (элементам) котла, так и запрашивать самодиагностические коды электроники.

Несколько слов о кодировании температуры. В части регистров это простое преобразование HEX->BIN.
Например команда e7h (максимальная температура бойлера). Значение 46h нужно понимать как 70 градусов.
Сложнее с командой 18h (температура подачи). Котел возвращает данные 060003c400fd.
Читать это значение нужно так:

3C -> 60 градусов
40 -> 64/255 -> 0,25 градуса
Значение температуры 60,25 градуса.

Примечательно, что это информация разнесена по 3 байтам: 03 c4 00

Значения типа 00h и 01h очевидны без пояснений. Но встречаются также значения вида 0Fh и F0h. Это состояние активности элемента - активен или не активен.

Полезными для меня показались такие параметры котла как общее состояние котла системы самодиагностики, общее количество часов работы котла, состояние горелок, температура подающей линии котла, температура отходящих газов (выхлопа), значения среднего и максимального времени розжига, а также общее количество неудачного розжига с первой попытки. С помощью простейшей программы я считываю эти параметры котла и записываю в базу данных системы Умный Дом. Далее эти данные используются в программе управления отоплением и для отображения работы системы в Web-интерфейсе.

 

 

Но самым главным результатом этой работы стала возможность считывать значение, определяющее время работы котла в режиме отопления, а значит потребление газа. Конечно, разрешающая способность такого учета низкая. Минимальное величина учета - час, а значит почти 5 м3 газа. Но это, согласитесь, лучше, чем ничего. Да и с учетом тех расходов, которые происходят в зимние месяцы (от 50 до 70 м3 в сутки) такая шкала вполне приемлема. Как только наберется достаточная статистика обязательно сообщу о том, насколько полученные данные расходятся с показанием счетчика.

E-BUS

В котлах Vaillant, как, впрочем и в некоторых других марках, таких как Protherm, Wolf, имеется поддержка шины E-Bus. В приведенном выше примере видно, что котел Vaillant atmoVIT поддерживает работу с портом RS-232, но это не единственный способ общения с котлом. Более прогрессивным и гибким способом коммуникации является подключение компьютера, также как и других принадлежностей - регулятора calorMATIC и модулей расширения к единой шине E-Bus. При подключении к общей шине применяется принципиально иной подход. Например, при наличии двух котлов и регулятора calorMATIC 630 с помощью компьютера можно получать данные и управлять всеми этими устройствами, имея всего один адаптер, подключенный к любому свободному разъему E-BUS в колодке котла или регулятора. Есть данные что адаптер TTL-RS232 работает не со всеми котлами марки Vaillant. Возможно в последних моделях и вовсе нет прямой поддержки RS232, поэтому единственным вариантом подключения котла к компьютеру остается цифровая шина E-Bus. Для тех, кто интересуется этой темой приведу некоторые документы на тему шины E-Bus.

eBUS Specification. Network Management
eBUS Specification. Physical Layer (OSI 1). Data-Link Layer (OSI 2)
eBUS Specification. Application Layer (OSI 7)
eBUS Specification. Application Layer (OSI 7). Appendix
eBUS Specification. Physical Layer Testing
eBUS Specification. Data-Link Layer Testing
Vaillant eBUS Commands (Попытка реверс-инжиниринга)

Нужно понимать, что компьютер к шине E-Bus подключается не напрямую, а через адаптер. Для E-Bus существуют адаптеры как для USB, так и для RS232 интерфейса. Стандартная для E-Bus скорость 2400 бод.

Схема адаптера E-Bus

Принципиальная схема простейшего адаптера E-Bus без гальванической развязки

Адаптер eBUS-RS232

Принципиальная схема адаптера eBUS-RS232 на базе MAX232

При использовании шины e-Bus для управления котлом требуется совершенно иные подходы в программировании, чем те, что описаны в этой статье. Так как у меня успешно работает прямое подключение котла к порту RS232, я не стал детально разбираться в протоколе и не использовал адаптеры eBUS, однако буду признателен за любую полезную информацию по теме управления котлами Vaillant и шине E-Bus.

Инструкции к оборудованию Vaillant

Vaillant atmoVIT VK INT. Инструкция по монтажу и техобслуживанию

Vaillant atmoVIT VK INT. Инструкция по эксплуатации

Vaillant calorMATIC 630. Инструкция для специалиста и пользователя

Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.



Добавить комментарий:

(необязательно, не отображается на сайте)


Сортировка комментариев: Последние сверху | Первые сверху

2018-12-12 12:55:23 | Andrey_B
Леонид, думаю, что вы правы. Поэтому я у себя немного изменил логику работы. Выставил на котле фиксированную температуру в 70 градусов. Этого хватает и для ГВС и для отопления. Снижается износ труб и арматуры. А через адаптер считываю только параметры работы котла. Если будут морозы под -50, всегда могу увеличить температуру, хотя вот уже несколько лет этого не требовалось. У меня очень большая площадь греющих приборов (теплые полы, радиаторы). Более 50 градусов в отопительных контурах у меня и не бывает.


2018-12-12 10:59:57 | Леонид
Добрый день, Андрей! Спасибо за отличные статьи, очень помогают. Пытаюсь по вашей схеме сделать преобразователь для atmoVit'а, чтобы устанавливать максимальную температуру подачи ГВС и дргуих параметров. Но меня смущает один момент, внутри котла очевидно установлен какой-то простой микроконтроллер и запись параметров идет к нему напрямую в EEPROM (вероятно), у которого в свою очередь ограниченный ресурс (обычно гарантируют что-то в районе 100000 циклов записи). Если менять параметры довольно часто, то выбрать этот ресурс в течении 5-7 лет вполне реально. Что думаете по этому поводу?


2017-10-22 16:39:42 | Дамир
https:/m.geektimes.ru/post/265668/
Пишут, что раз снаружи - то и не надо. А, вообще, конечно надо у местных служб интересоваться - тут каждый суслик на своем поле агроном.


2017-10-22 16:33:20 | Andrey_B
Дамир, вне всяких сомнений при условии, что показания будут считываться бесперебойно, геркон будет точнее. Нужно только на всякий случай согласовать установку такого прибора, чтобы у инстанций не возникло вопросов относительно идущих к счетчику проводов.


2017-10-22 11:45:18 | Дамир
Здравствуйте. Познавательные статьи - спасибо! У меня такой-же котел и дов=м в процессе стройки. Счетчик газовый поставили тоже самый простой без электроники - ВК-G4. Так вот в его инструкции - Для дистанционной передачи информации к счётчику может быть присоединён низкочастотный датчик импульсов (геркон) типа IN-Z61, срабатывающий от магнитной вставки, встроенной в младший разряд счётного механизма.

Думаю будет всяко точнее косвенного вычисления. К тому-же, горелка вроде с модуляцией на этом котле.


2017-01-21 10:19:52 | Кирилл
Андрей, а не могли бы Вы как-то сконтактировать меня с автором предыдущего комментария dmikai? Моежете дать его email? У него просто получилось сделать рабочий конвертер, а у меня все не получается, не могу ошибку найти. А я ему помогу с тем, как это можно использовать, наваяем вместе систему автоматизации. Заранее огромное спасибо!
dmikai, если ты видишь мой пост, пожалуйста, напиши мне kirill.emko@mail.ru.
Да и если у кого получилось связаться с vaillant по ebus, то пожалуйста, дайте о себе знать. У меня все не получается с конвертером. Постоянно CRC ошибки вижу. Пробывал схемы и с гальванической развязкой, и немецкие схемы через конвертеры, все никак :(


2016-08-03 17:32:27 | dmikai
Добрый день. У меня отопительный котёл Vaillant geoTherm VW103/2. На плате разъём присутствует, только к ногам подходят исключительно eBUS (проверял по схеме). Сделал небольшой медиа-конвертор eBUS-UART.
Подключил всё это хозяйство к котлу. Данные считываю с помощью ebusd. Очень удобно. Все команды можно задавать в мнемоническом виде - как для чтения, так и для записи.
Так как данные в шине мне доступны все, то список различных команд, которые посылает блок управления, можно без труда перехватить. В принципе есть все параметры, которые меня интересовали. Управление работает, только не знаю что с этим дальше делать.


2015-06-11 17:23:56 | finaest
Здравствуйте!

Есть котел Ariston Genus 36 FF с разъемом rj-11 на плате, есть arduino uno c ethernet shield. Хотелось бы узнать можно ли каким нибудь образом напрямую к rj-11 на плате котла подключить arduino и по ethernet передать данные на веб интерфейс? Есть у кого нибудь какие-то мысли?


2015-05-24 00:15:00 | Антон
Здравствуйте!

Пытаюсь подключиться к своему котлу (Vaillant Atmo Tec Plus) через eBus. Собрал USB-eBus адаптер для связи с котлом. Адаптер работает. Принимаю от котла синхронизирующие посылки (0xAA). Периодически также проходят посылки ping. Однако, обменяться данными с котлом пока не получается. Здесь писали о программе от Vaillant. Не поделится ли кто-нибудь? Хотелось бы подсмотреть реальный обмен с котлом.

А задачи стоят следующие:
1. Изменять удаленно температуру теплоносителя.
2. Считывать текущие параметры котла (температуры, режимы и т.д.).
Второй пункт уже не так важно, как первый.

Спасибо за информацию!


2015-01-23 09:29:28 | Сергей Тарасов
Андрей, я, конечно, был бы не против. Полезная софта всегда пригодиться. Что для этого нужно?


2015-01-22 12:09:01 | Andrey_B
Сергей, я хочу заметить, что протокол RS232 (TTL) - это не тоже самое, что eBUS. Не исключаю, что не все котлы поддерживают RS232. Если нужно, могу скинуть софт под Windows для проверки работы адаптера с котлом.


2015-01-22 08:41:01 | Сергей Тарасов
Спасибо, я понял. Да, там присутствует eBus. Адаптер собрать не проблема. А для анализа
кода можно ведь подключить что нибудь простенькое, типа конструктора Ардуино. Он там вроде бы не сложно программируется. Как вы думаете подойдет? Ставить туда какой то стационарный компьютер или лептоп ради распознавания нескольких сигналов вроде не рентабельно. Мне с вашими скриптами пока не все понятно. Пока я соберу адаптер, а потом немного поморочу вам голову. Вы не против?:)


2015-01-21 10:36:52 | Andrey_B
Сергей, если ваш котел поддерживает RS232 (TTL), то вы можете собрать аналогичный моему адаптер и использовать мой скрипт. В нем есть кусок кода, который считывает состояние котла. Мне известны коды нормальных состояний. Любое другое значение с высокой долей вероятности будут означать сбой. А можно увести котел в аварийный режим и посмотреть какой будет код состояния.


2015-01-20 10:40:17 | Сергей Тарасов
Андрей, извините за неточность вопроса. Я хотел сказать, что мне нужно выделить сигнал сбоя котла из потока данных, что бы передать его на СМС рассылку через простой и недорогой ПЛК. Код ошибки в данном случае значения не имеет. Т.е. единица или ноль. Как известно, на котле и управляющем контроллере Calormatic нет сигнального индикатора ошибки или сбоя. Что бы вы могли посоветовать в данном случае? Я электронщик, с программированием просто ознакомлен на начальном уровне.


2015-01-19 15:54:50 | Andrey_B
Сергей, простите, не понял вопрос. Что такое "дискретный сигнал ошибки котла"?


2015-01-19 11:45:13 | Сергей
Добрый день, Андрей.
У меня есть вопрос. Как можно выделить дискретный сигнал ошибки котла. Т.е. ситуацию, при которой котел по той или иной причине дал сбой? Код ошибки в данном случае не важен.


2013-12-06 22:55:43 | Игорь
Не занимался никогда изготовлением адаптеров, но очень хочу подключить Buderus logamatic 4211 к usb ноута. Программа есть. Но выход только ecocan bus. Скажите, существуют ли в природе готовые варианты адаптера ebus-usb или ebus-rs232. Адаптер rs232-usb имеется готовый.


2011-06-01 10:21:28 | Andrey_B
Евгений, подключать адаптер через переходник COM-USB не пробовал, но теоретически должен работать.


2011-05-31 12:51:32 | Евгений
Андрей, еще вопрос. Пробовали ли Вы подключить адаптер RS232 через переходник COM-USB и получилось ли у вас его настроить? Спасибо.


2011-05-06 16:40:03 | Andrey_B
Евгений, я подключал котел atmoVIT через адаптер RS232-TTL.
Мой котел, видимо, поддерживает и этот адаптер и E-Bus.
Адаптер E-Bus не делал.
vrDIALOG, по крайней мере то, что есть у меня, делится на две версии - для адаптера RS232-TTL и для E-BUS. Программы разные.
В случае использования адаптера RS232-TTL, пин с 24В не используется. Он, по всей видимости, используется как раз для питания E-BUS адаптера.


2011-05-05 22:20:34 | Евгений
Доброго времени суток! помогите разобраться начинающему.
Как я понял в первой статье вы подключили с помощью переходника котлы версии atmo и turbo MAX, а во-втором, через шину E-Bus подключили atmo и turbo TEC.
вопрос:1. можно ли с помощью второй схемки, для подключения по шине E-bus, подключать vaillant MAX и TEC; 2. можно ли использовать скаченную демо-вервию VRDialog для просмотра и изменения настроек этих котлов; 3. при подключении схемы по шине Е-BUS с помощью MAX 232,мне не совсем понятно куда подключать 24V висящие на разъеме. спасибо


2011-03-16 21:41:11 | gtsx4444
могу скинуть фотку как у меня)) с web-камерой просто и безобразно дешево - уже с подсветкой, не нужна плата захвата, софт стандартный. для проверяющего ничего подозрительного -- камера напротив, счетчик целый, все бесконтактно. спросит зачем? чтобы не забывать и вовремя оплачивать))) в моем случае серверная и котельная одно помещение, конечно проще. еще надо подумать как быть с электро-счетчиком, это уже метров 20 отсюда, он у меня электронный, но без возможности подсоединения как у вас. вобщем тоже подумываю туда камеру прикрутить, а то катастрофически не хватает данных))))


2011-03-16 17:33:30 | Andrey_B
Мысль, по поводу Web-камеры у меня тоже была. Но проблема даже не в том, что компьютер находится за пределами досягаемости USB (это можно решить аналоговыми камерами), а в креплении камеры, освещении показаний счетчика и главное, как на все это посмотрит проверяющий горгаза, который время от времени сверяет показания и обновляет пломбу. ;)


2011-03-16 17:18:30 | gtsx4444
Так как мой котел не сообщает расход, а расчетные значения не очень удобны и совсем не точны, я решил вопрос учета расхода газа методом съема показаний (в прямом смысле;-). Все достаточно просто: поставил самую дешевую вебкамеру, которая делает фото-снимки каждую минуту, цифры на изображении распознаются коротеньким скриптом на перле и передаются в центральную базу данных, где уже можно анализировать и сопоставлять зависимость расхода от разных параметров котла, времени года и т.д. Сначала была мысль поставить фотоаппарат, но оказавшийся под рукой Canon не хотел работать в связке с компьютером, как я делал это раньше с Olympus. Но думаю ве-бкамеру за 300руб использовать для этого правильнее))


2011-03-13 22:57:58 | gtsx4444
Андрей, у меня такая максимальная температура 60+ бывает в очень сильные морозы, т.е. очень редко, сейчас температура подачи стоит на 45 градусах. А мысль была какая -- в случае отключения эл-ва или отсутствия людей в доме, перевести котел в максимально энергосберегающий режим, т.е. поддерживать минимальную температуру отопления (бойлер можно вообще сократить). Насчет 3-х ходовых -- соглашусь, это больше для обеспечения комфорта.


2011-03-13 22:26:14 | Andrey_B
gtsx4444, насколько я помню, нельзя задавать температуру, которая устанавливается ручками. Если я не ошибаюсь, для подключаемых контроллеров типа calorMatic есть специальные регистры, но работают они только в том случае, если котел определил наличие контроллера. Поэтому я у себя решил эту проблему регулированием максимальной температуры подачи. Диапазон от 60 до 83 градусов (у ручек от 35). Учитывая, что на контурах отопления у меня стоят 3-х ходовые, этого более чем достаточно. По большому счету, можно было бы оставить котел в термостатике на максимальной температуре, но я ее изменяю, чтобы не перегреть теплоноситель в теплогенерирующем контуре (до гидравлического разделителя), так как там воды очень мало. Вообще регулировать температуру котлом, на мой взгляд, как-то не очень правильно. Уж если заниматься компьютерным управлением и автоматизацией, то монтировать приводы на 3-ходовые. Такое регулирование более плавное и в некоторой степени нивелирует колебания, вызванные гистерезисом работы котла.


2011-03-13 20:28:08 | gtsx4444
Вообщем разобрался с протоколом и возможными командами, аналогично приведенному списку выше - есть регистры с не понятными значениями. Если интересно могу выслать информацию и свои наработки по TurboMax в коллекцию. Очень хотелось устанавливать температуру нагрева (отопления и бойлера), но не дает изменять эти регистры, только на ручке. Пока программа пишет логи...


2011-03-12 22:52:10 | gtsx4444
Да, насчет "засыпания" это интересно, прочитал в процессе, а то я уже стал нервничать: то опросил - работает, то не работает )). Я думаю будить его можно пока не откликнется на команду инициализации, просто в цикле. По моим данным vrDialog посылает всего 56 разных команд, в зависимости от страницы на которой находишься. В принципе у вас много расписано, но попробую для своего котла проанализировать.
Нет ли где информации что такое "частичная мощность" в настройках (значения 0..15) -- как это вообще работает, экономит что?


2011-03-12 21:31:33 | Andrey_B
gtsx4444, рад, что у вас получилось.
vrDialog и у меня соединяется со второй попытки. Если обратите внимание на мой код, то увидите, что в нем заложена своеобразная процедура соединения с котлом. У меня сложилось такое ощущение, что электронику котла надо предварительно разбудить. Причем если сразу же после последнего сеанса связи соединиться снова - все проходит с первой попытки, но стоит подождать несколько минут и котел вновь отвечает только на вторую или третью попытку.
Насчет скачущих 5В у себя не замечал. Впрочем, я не делал длительных измерений.


2011-03-12 19:36:39 | gtsx4444
Значит докладываю: собрал адаптер на ADM3251E (еще потребовалось 6 конденсаторов), собирать NM9212 не стал т.к. сказали, что он без развязки. Подключил через переходник USB-RS232 от мастер-кита. Запустил vrDialog - котел обнаружился со 2ой попытки, все параметры показывает, совпадают с дисплеем. Единственное смущает, что на входе полученные от котла 5в скачут (еще проверим). Теперь попробую подсоединиться и пообщаться с котлом на Perl ))


2011-03-01 22:31:45 | Andrey_B
gtsx4444, на фото адаптер на базе MAX232A. Я его позже заменил на другой на базе ADM3251. А в новом адаптере и фотографировать нечего. Там кроме самой микросхемы ничего нет.


2011-03-01 21:43:12 | gtsx4444
спасибо, Андрей. буду пробовать. но у вас на фото кроме микросхемы еще что-то же припаяно?


2011-03-01 20:27:52 | Andrey_B
gtsx4444, найдите в Питере микросхему ADM3251. Это все, что нужно для изготовления адаптера с полной гальванической развязкой. Никаких дополнительных компонентов не требуется. Нужно только грамотно развести ножки по контактам (изучив Datasheet на этот компонент). Такой адаптер работает у меня круглосуточно уже больше года. Микросхема ощутимо теплая, но никаких проблем это не создает. Для пущей важности можно приклеить к ней маленький радиатор.


2011-03-01 16:41:14 | gtsx4444
Андрей, адаптер NM9212 я только получил, но он не работает так как требует пайки, а в собранном виде не продается! Вот ищу альтернативные варианты, возможно на базе обычного тел дата-кабеля, но как быть с гальванической развязкой... не силен я в схемотехнике...

По остальным вопросам - понятно.


2011-02-26 18:57:36 | Andrey_B
gtsx4444, вы имеете ввиду управление модулирующей горелкой? Дело в том, что мой atmoVIT не снабжен функцией модуляции, поэтому найти этот регистр я не могу. Но я почти уверен, что такая возможность есть. Кстати, а упомянутый вами адаптер работает?
Насчет часов работы, у меня несколько по-другому устроено. Бойлер включается в гидравлический разделитель как и другие потребители и котел о бойлере, который имеет собственную автоматику, ничего не знает. Поэтому в моем случае только часы на отопление.


2011-02-26 17:58:15 | gtsx4444
Андрей, а есть ли возможность задания/контроля мощности, вроде как диагностический код d.00 должен за это отвечать, но значение по инструкции в мин.

касательно расхода: разве не надо суммировать Часы работы на ГВС + Часы работы на отопление?


2011-02-23 19:52:50 | gtsx4444
Большое спасибо за проделанную работу, давно хотел помучить котел и пособирать статистику его работы. У меня turbomax, собираюсь заказать NM9212+COM>USB.


2011-01-22 18:54:45 | Алексей33
Андрей, спасибо большое за быстрый ответ и за ваш опыт которым делитесь .я строю дом . читаю внимательно ваши способы решения поставленных перед собой задач. прочел две ветки форума про бюджетный дом и дом своими силами) пишите пожалуйста делитесь опытом не забрасывайте ! хотел в форуме спросить про электросчетчик а нашел ответ у вас. единственное наверное куплю 233 модель .


2011-01-21 22:59:07 | Andrey_B
Алексей, как ни странно, показания очень близки. На счетчике немного больше. Это и понятно, я не могу учесть расход газовой плиты. В целом я считаю, что такой учет дает вполне точное представление о расходе газа.


2011-01-21 21:21:52 | Алексей 33
почти скоро год. сильно показания расходятся со счетчиком?


2010-04-12 23:01:17 | Andrey_B
George, as a matter of fact, my boiler (Vaillant atmoVIT) has no modulation. It's normal for Russia. Simple, without burning modulation boilers are cheaper. It's rather cheaper to buy two boiler (20kW) without modulation than one boiler (40kW) with modulation. So my calculations are close to the truth (I've compared it with gas metering readings). But, you are right. For your Ecotec this information will not be true. But I'm convinced that information about current modulation is in boiler's memory like other data. So it's perhaps possible to write programm for continuous (without any delays or not more than second) polling boiler to get current status of boiler (fire on/off) and current modulation and then to calculate avarage values to write it to database (one for minutes for example).


2010-04-12 22:30:01 | George Hills
I am worried about your gas calculation. Does the boiler modulate? I mean, does it vary its power output while burning? I have a Vaillant Ecotec and it is not enough to know how many minutes the burner has been running for. It is also necessary to know at what power level - this can be 9kW - 30 kW.

Good luck!