Комплект сложных щитов для автоматизации квартиры на ОВЕН СПК
Итак, мои дорогие камрады, я начинаю большой рассказ про огромную, длинную, тяжёлую и сложную эпопею, которую окрестил «Проклятым Проектом» (и про которую упоминал в посте Новогодних Новостей 2024). Чтобы ко мне никто не прикопался, я явно упоминаю о том, что у меня есть подписанный Акт сдачи работ (вот как раз обновил пост про свою CRM, где у меня такие акты можно делать), в котором ЯВНО прописано о том, что Заказчик даёт разрешение на выкладывание информации о его проекте в Интернет.
Вся история будет из двух постов (вот здесь ссылка на вторую часть), и она тянулась ТРИ ГОДА: с 2020 по 2023. Я продешевил с этим щитом раза в четыре, а, пока его делал, влез в такие дикие долги, что до сих пор их разгребаю (поэтому донаты и помощь проекту приветствуются). Этот проект сбил мне ВЕСЬ отлаженный поток работы «Заказали, разработал ТЗ, подсчитал, собрал, сдал, получил денег» напрочь! Я не могу оправиться от него до сих пор!
Я расскажу о том, почему всё шло так ужасно тяжело и долго, какие технические и организационные косяки в этой истории обнаружились, и сделаю всякие выводы. Задним умом, ага =/ Возможно, эта история ещё и будет примером тем, кто занимается астрологией. Все слышали про ретроградный меркурий: если начать на нём дело, то оно будет делаться жутко тупо, муторно и с постоянными доделками и переделками. А этот заказ как раз так и был начат…
Вообще, этот пост так же показателен, как наш самый первый ремонт 2008 года с Напарником, где мы вышли по деньгам в 0: сколько заработали, столько и отдали назад в качестве компенсации за косяки нанятых рабочих. Тогда мы решили никого не нанимать и делать всё своими силами, а я написал пост с разбором косяков. Вот сейчас я ощущаю примерно то же состояние.
Вот список ошибок, которые тут были допущены:
- Не было фиксации всех доработок, новых идей и их оплаты. В договоре было прописано то, что небольшие изменения делаются бесплатно, а про крупные доработки вообще ничего не было прописано. В итоге проект из «Поуправлять светом, шторами и сделать защиту протечек на батареи» разросся в гиганта. При этом по времени и деньгам он был оценён как простой проект.
- Я ошибочно решил, что заказчик адекватен в оценке хотелок: понимает их трудоёмкость и удобство использования. Это повлияло на наше общение и согласование работ. Хотя по тому, как заказчик присылал (как бешеная белка) по 5 коротеньких мыл за ночь, можно было сделать выводы.
- Подвёл CodeSys 3.5, у которого изменился драйвер опроса Modbus RS-485 (и TCP тоже) по сравнению с CodeSys 2.3. Мне не удалось сделать большую скорость опроса кнопок на этом CodeSys, и это повлияло на то, что я не мог сделать нормальную работу диммеров, так как там надо отличать отдельное короткое и отдельно длинное нажатия. Я возился с этим около года.
- Подвели модули диммеров 0..10V от RazumDom (пост про них, когда они были ещё хорошими). Они за три года просто СДОХЛИ. Заменили их на ОВЕН.
- Неверная оценка своих психологических сил: так как мне нужно было делать другие заказы, чтобы было на что жить, то я пытался переломить себя и перестроить процесс так, чтобы днём заниматься другими заказами, а вечером — программой для ПЛК этого щита. Однако мой характер хрен переломишь: я работаю вдумчиво и крайне тяжело перестраиваюсь с одного типа действия на другое. Мне на это надо несколько часов. А там уже и день кончается. Эти попытки продолжались два года: «Во! Днём покручу провода в щите такого-то клиента, а вечером сяду — и напишу автоматику управления отоплением».
- Вместо бумажных разбирательств с затянутыми сроками сдачи щита всё было на словах или по E-Mail в виде «Ок! Вот ты хочешь добавить это и это в щит, а так как я тебе его задерживаю — то сделаю за так, нивапрос». Это создавало слишком позитивное отношение к изменениям. Надо было зафиксировать всё в виде Актов, которые у меня в CS CRM делаются легко и просто, а не на словах. Как говорят, что деньги любят счёт, так и рабочий процесс любит документацию.
Содержание
- 1. Что было задумано в щите и как он проектировался. Крутой главный экран щита.
- 2. Сборка силового щита. Красотули!
- 3. Косяк 1: Диммеры освещения (медленный Modbus в CodeSys 3.5). Метания с деньгами.
- 4. Косяк 2: Сдохли модули RazumDom DDL04R (стоимость владения и ремонта).
- 5. Косяк 3: Привет, WB-MSW v3 со старой прошивкой (2021): медленный опрос датчиков Modbus.
- 6. Косяк 4: Изменения и доработочки без доплаты. Хочухи и печальные выводы!
- 7. Косяк 5: Щит Санузла с доработочками. Невпихуемыми.
- 8. Навороченная программа для ПЛК. ОЧЕНЬ сложная.
- 9. Завершение и выводы.
1. Что было задумано в щите и как он проектировался. Крутой главный экран щита.
Изначально заказчик мне понравился, так как он чётко ставил задачу и понимал свои хотелки. Но это было ошибочным, так как понимал он только общие хотелки. А когда дело доходило до деталей, было плохо: мы уходили в какие-то высокие материи, трёп, философские рассуждения вида «А как вообще делают датчики и можно ли их тут применить». При этом с обоих сторон у нас оставался ложный позитив. Я думал, что «Ага, задача понятная, я такое делал много раз, сделаю», а заказчик думал: «О! Да тут легко сделать! Он сделает».
Вот так это всё и началось. С этим проектом я ещё и дофига продешевил. ОЧЕНЬ сильно. Я взял за весь основной щит всего 185 тыр, а надо было брать под 300-400 тыр сразу же, когда мы начинали проект, а потом увеличивать сумму вместе с тем, как росли хотелки заказчика.
Вот что было придумано в начале работ по основному щиту:
- Щит делается на голой WR-раме без корпуса (ссылка на примеры монтажа таких щитов) шириной в 4 рейки (1 метр) и высотой в 12 реек (1,8 метра);
- Однофазный ввод;
- Питание части нагрузок через мощный UPS до 40А;
- Система контроля работы важных нагрузок ILC (пост про неё);
- Вся автоматика щита на базе ПЛК ОВЕН СПК107;
- Дополнительный экран на базе WEB-панели ОВЕН ВП110 (пост про неё);
- Отключение питания на отпуск через контактор;
- Перекрытие воды в квартире при помощи кранов с мотором;
- Перекрытие батарей отопления при помощи кранов с мотором. Отслеживание протечек батарей при помощи датчиков протечки;
- Управление приводами штор на окнах: открывание и закрывание по кнопкам;
- Управление светом: включение или выключение, диммирование (около 16 групп света) по 0..10V;
- Управление вентилятором вытяжки на кухне: регулировка скорости по кнопке при помощи диммера по 0..10V;
- Отслеживание открытия-закрытия дверей и окон при помощи герконовых дачиков;
- Управление кварцевыми лампами по кнопке и датчикам движения. ДА! У заказчика кварцевые лампы в каждой комнате, и он ими пользуется для кварцевания помещений. Задумка в том, чтобы кварц не включался, если в комнате не закрыта дверь или есть движение;
- Сбор статусов работы и управление термостатами тёплых полов через Modbus (про эти термостаты я писал у себя здесь);
- Сбор информации с датчиков WirenBoard WB-MSW v3 (старой версии, пост про них вот здесь): температура, влажность, CO2, VOC, движение, освещённость, уровень шума;
- Сбор информации с датчиков санузла (там должен стоять щиток с модулями IO): температура (пост про датчики температуры) и давление (пост про датчики давления);
- Итоговую программу заказчик должен был разработать сам. За это я и денег меньше взял. Мне нужно было сделать только опрос IO и управление светом и базовыми задачами (открыть-закрыть шторы, батареи, воду в квартире).
Вроде бы сложно? А с другой стороны — не так сложно, так как большинство задач я уже решал, и решал удачно:
- Свет по кнопкам — нет проблем;
- Диммирование на других ПЛК — тоже нет проблем (по кнопке крутим счётчик процентов яркости в сторону увеличения или уменьшения);
- Сбор данных с датчиков — так это ж весь проект Котельной в Папушево на этом построен (пост про него);
- Управление шторами по кнопкам — делал в проекте на Шелепиху (пока не писал про него, так как мы его не закончили до конца);
- Всякие батареи или защиту от протечек — делал, и тоже легко и просто. Сработал датчик — перекрыли краны;
- Управление кварцами я понимал, как надо написать;
- С кухонной вытяжкой мы поставили опыты в посте про RazumDom DDL04R;
- Что ещё я забыл? Ах, да. Термостаты тёплых полов с Modbus. Ну, прочитать с них данные можно было легко. Тоже проблем нет. А вот записывать — да, чуток надо было поизучать вопрос.
Вот я и взялся за этот проект вполне себе воодушевлённо. Ведь сначала я делаю тесты оборудования и проектирую «железо» — щит, сигналы IO, обвязку ПЛК. Потом собираю этот щит. А потом уже пишу программу, тестирую и всё сдаю.
Но на этот раз вылезло много доработок и идей. Каждая из них имеет смысл и вполне реализуема. Но вместе они дали эффект раздолбайского снежного кома: наложились друг на друга, и вместе создали высокую сложность и дичь проекта.
Вот что было добавлено или переделано (про это будет целый подзаголовок поста):
- Система измерений токов ABB CMS (пост про неё) на ВСЕ линии щита вместе с модулем ABB CMS-700;
- GSM-модем для приёма и отправки СМСок;
- Ещё одна группа света в Прихожую;
- Датчики открытия и закрытия замков входной двери;
- Отслеживание протечек воды в Санузле;
- Управление всеми потоками воды в Санузле: Дренаж с фильтров, переключение на водонагреватель (добавились реле и модули IO в щит санузла);
- Отслеживание работы кварцев по движению через датчики WB-MSW;
- Из-за того, что раньше модули ввода-вывода щита санузла были на общей лини связи с датчиками климата и термостатами тёплых полов, стало не хватать времени на их быстрый опрос, и пришлось заводить ещё один, отдельный, интерфейс связи туда;
- Разные новые алгоритмы работы Входной двери, Санузла и прочие;
- Алгоритмы запуска отопления по уличной температуре (если холодно в течение 7 дней — считаем что началась зима и включаем);
- Алгортимы вычисления Минимума, Максимума и Среднего для кучи параметров. В том числе вычисление общих средних значений по всей квартире, чтобы отобразить их на главном экране ПЛК.
В итоге получился щит-МОНСТР! Когда-то какие-то тупые рабочие смеялись над щитом с автоматикой на Logo на Кронштдаский Бульвар (вот пост про него), а тут, если кто-то увидит этот щит, его удар хватит.
Так как данных тут собиралось ОЧЕНЬ много, то встала ещё одна сложность: их надо было ОТОБРАЗИТЬ так, чтобы это было наглядно и более-менее информативно.
Так как у нас в проекте была WEB-панель ОВЕН ВП110 (она стоит около входа в квартиру), то на ней хотелось видеть состояние всех систем квартиры: закрыты ли окна, двери, где оставлен гореть свет, где движение людей.
Я стал думать о том, как это всё разместить на экране так, чтобы не закопаться в куче текстов.
Вот экран щита в Котельную Папушево (из второй части поста, где я его программировал):
Главный экран СПК110 щита котельной с его состоянием
Тут информации много, но она собрана по группам и выводится текстом.
Но в текущем проекте информации ещё больше! При этом мне хотелось, чтобы по главному экрану можно было быстренько понять, в какой именно комнате что случилось, чтобы знать, куда бежать (например, если батареи протекли).
Сижу я, сижу… а тут как раз на ЮТубе канал «PRO METRO» появился. А там про МФДУ поездов рассказывают. И там есть диагностические страницы работы всех систем поезда по вагонам.
Вот:
Пример одного из экранов МФДУ поезда Метро, который был вдохновителем идеи
Эта идея была мной переработана, и получился вот такой вот главный экран (слева сверху не убран отладочный переключатель):
Главное окно СПК со статусом работы всех систем квартиры (идея взята из МФДУ поездов Метро)
При первом взгляде он будет казаться перегруженным. А вот при втором приходят идеи, которые я туда вложил.
Во-первых, экран поделён на 5 областей:
- Статус работы систем квартиры (идея взята с МФДУ);
- Параметры ввода сети (напряжение и ток);
- Климат на улице и в квартире. Для квартиры показываются средние значения со всех датчиков WirenBoard по всем комнатам;
- Статус воды и отопления: температура и давление ХВС, стояка полотенцесушителя и средняя температура отопления по трём стоякам;
- Строка статусов тревог ПЛК. В ней листаются системные сообщения или ошибки (они же записываются во внутренний журнал ПЛК). Если аварий нет — строка зелёная, и там выводятся всякие разные статусы типа «Дверь закрыта», «Вода открыта». Если есть предупреждения (отклонение величин за их границы), то строка становится розовой. А если есть критические ошибки (сбой датчика, величины вышли из границ нормальных — например, давление горячей воды в стояке упало до нуля), то строка становится оранжевой.
Пожалуйста не пугайтесь от диких скачков графиков климата. На момент снятия скришота щит находится в режиме отладки и имитации сигналов с датчиков (они изменяются по синусоиде). Про такой режим отладки я писал в этом посте.
Статус работы подсистем — это прям моя личная находка для самого себя. Наверное, это одно из того, что мне нравится в этом проекте. Каждый статус представляет собой квадратик, который может принимать четыре цвета:
- Зелёный — Выключено, Готово к работе, Внимание не требуется;
- Жёлтый — Активно, Включено в работу, Выполняется какое-то действие;
- Красный — Явная авария (протечка воды, снижение давления воды) или сбой оборудования (потеря связи, сбой датчика);
- Серый — не активно или не используется.
Дополнительно тут выводится ещё и всякий текст, типа «Отк», «Зак» (двери или окна открыты, закрыты), «Вкл» (свет и прочее), «Нгр» (нагрев для тёплых полов). По нему можно более детально понять режим работы.
А ещё есть режим мигания (смены цветов). Он используется в том случае, когда надо показать сиюминутное выполение операций: ожидание кварцев, открытие или закрытие воды и прочие подобные штуки.
В дисплее МФДУ в Метро есть неудобство: у них на большинство систем заложено только два цвета: Красный — работа, Зелёный — выключено. Хах! Видимо, им его проектровал кто-то, связанный с электроэнергетикой, где именно такое сочетание цветов сделано для обозначения положения силовых выключателей в подстанциях: Красный — включено под напряжение (опасно), Зелёный — выключено (безопасно). А им бы жёлтый добавить: жёлтый будет означать работу, а красный — ошибку, как я и сделал. Вроде как всё же жёлтый там всё же используется — он показывает нештатную работу (ручное включение механизмов).
Суть моей «матрицы» в том, что в неё не надо вчитываться при кратком взгляде на щит. Не надо читать надписи или разглядывать каждый квадратик. Достаточно, например, при уходе из квартиры, глянуть в общем виде по «строкам» (Свет, Движение, Окна, Двери): если там есть что-то жёлтое — то значит что-то работает.
После этого экрана и щита я понял, что мне надо будет как-то выбрать время и нормально переписать себе всю свою программу на домашнем СПК, потому что она накидана как попало в тестовых режимах (изначально СПК использовался как тест оборудования). И я бы ОЧЕНЬ хотел бы сделать себе датчики на двери и окна и такой вот экран.
Датчики у меня есть (и на двери я их уже установил, и даже часть подключил), а вот ставить датчики на окна я пока боюсь. Мне нужна абстрактная консультация, если что: как установить бесконтактный датчик диаметром 8 мм (пост про такие датчики) в профиль окна. Можно ли вообще оконный профиль сверлить и не нарушит ли это герметичность. И ещё как их поставить, если окна давно установлены, и там всякие пластиковые откосы на пену приклеены…
Я считаю, что такие датчики — это офигенно удобное решение, когда ты собираешься на улицу гулять на полдня и хочешь не шляться по квартире в обуви (особенно мокрой весной или осенью), а быстро глянуть и увидеть «О, в комнате окно не закрыл, а сегодня ливень обещают» (в принципе в СПК можно даже прогноз погоды подтянуть и так прям и отображать: «Ожидается гроза, закрой окна»).
2. Сборка силового щита. Красотули!
Давайте же посмотрим на сам щит с точки зрения компонентов и проводки. Он собран хорошо и замечательно:
Вид на силовой щит квартиры с автоматизацией на ОВЕН СПК
Вот что про него можно сказать:
- Все подключения сделаны на клеммах. Все кабели тут приходят в щит сверху, и мне хватило в щите места, чтобы на две рейки клемм отвести три рейки по высоте в раме. Это создало дополнительное пространство для разделки и подключения кабелей (я всегда так делаю, если есть возможность; писал про это в посте про Клеммы);
- Вся компоновка сделана так, чтобы греющиеся модули ПЛК и реле были в самом низу щита, а обычная модулька — посередине. Так к ней удобнее подбираться;
- Так как тут однофазный ввод, то весь щит по максимуму собран на Гребёнках (пост про них на всякий случай);
- Для измерения тока по вводу щита установлен трансформатор тока ABB TRFM;
- Все реле, которые коммутируют обычные недиммируемые группы света, установлены серии ABB CR-M с ручным управлением (сейчас я так не делаю, а использую переключатели ABB E214-16-101);
- Реле управления кранами батарей тоже имеют ручное управления (ABB CR-M);
- Обвязка модулей ввода-вывода от ПЛК и реле сделана на перфокоробах (как-нибудь я сделаю про эту технологию пост).
В общем, по сборке щита проблем не было. В этом плане это был обычный (но объёмный по количеству проводов) щит. Чтобы развести провода от модулей ввода-вывода на клеммы (около 80 проводов длиной по 1,7 метра) я использовал пакетную технологию (тоже сделаю пост когда-нибудь). При такой технологии я нарезаю провода с запасом по длине, маркирую их с обоих концов, обжимаю наконечниками НШВИ с одного конца, и весь такой жгут сразу протаскиваю по щиту, закручивая его, например, в клеммы. После этого мне остаётся подтянуть провода по длине до модулей ввода-вывода, обрезать их там под нужную длину, обжать НШВИ и закрутить. Это гораздо быстрее, чем протягивать по одном проводу. Минус этой технологии в том, что остаются обрезки по 10-15 сантиметров, которые повышают расход провода. Однако если закладывать провод в стоимость щита (что я и делаю для больших проектов), это можно компенсировать.
Сзади все провода уложены в держатели ABB ED44P10/ED45P10. Без них у меня ни один щит не обходится (пост про систему EDF/WR-профилей ABB CombiLine, аналогов которой пока нет).
Смотрите, как красиво получается, когда модулька расположена с той же стороны, что и клеммы:
Задняя часть силового щита квартиры. Провода уложены в держатели ABB ED44/ED45
При этом все провода доступны: любой можно подтянуть, вытянуть или перетянуть и переподключить.
А вот часть рамы с закрытыми пластронами (между диммерами справа ещё не установлены заглушки шириной в 0,5 модулей):
Часть силового щита с защитой всех нагрузок и отходящих линий
Всё стильно, всё подписано, всё идеально ровно (а не как во всратых щитах IEK TITAN 5)!
СПК установлен на пластроне щита (вот почему в Российских щитах важно иметь пластрон двойной ширины и двойной высоты, которого, как и системы щитов, вообще пока нет) и подключается к щиту при помощи разъёмных клемм на DIN-рейку (вот пост про них):
ОВЕН СПК установлен на пластроне со съёмными шлейфами
GSM-модем тоже подключается при помощи разъёмных клемм. Я на них подсел, и использую в каждом проекте.
В щите установлен GSM-модем для приёма и отправки СМСок. Он тоже имеет съёмный шлейф
Для модема у меня изготовлен хитрый кронштейн из монтажной платы для установки автоматов ABB TMax1 на DIN-рейку. Я писал про него в этом посте. Вот фотография этого кронштейна оттуда:
Готовый кронштейн для монтажа модема ОВЕН ПМ-01 на базе монтажной платы для автоматов TMax T1
Самой модульки в этом щите мало, так как (повторюсь) у нас однофазный ввод. Все линии сгруппированы по УЗО и защищены автоматами категории отключения B.
Вид на модульку силовой части щита. Её не так и много
Ряд белых коробочек справа сверху — это диммеры Finder 15.11.8.230.0400. Они очень классные (и я рад, что Finder остаётся в России, так как аналогов этим диммерам нету). Классность их в том, что они поддерживают светодиодные лампы до 100 Вт, а управляются сигналом 0..10V, который может выдать любой ПЛК или ПРка (пост про такие сигналы).
Диммеры от Finder с интерфейсом 0..10V для управления лампами
То есть, на них можно легко сделать диммирование разных светильников, в которые вкручиваются светодиодные лампы (лампы должны быть диммируемые) — например, настенных бра, точечных или других, которые штатно не имеют диммируемых светодиодов или какого-то другого управления яркостью.
Как я уже говорил, клеммы в щите стоят сверху. Вообще, минус рамы шириной в 4 рейки в том, что там посередине по любому будут два профиля: от левой и правой половины. Никуда от этого не деться, так как иначе пострадает жёсткость рамы.
Так вот клеммы встали ОЧЕНЬ плотно по всем рейкам. Прям еле-еле влезли:
Вид на клеммы для подключения всех отходящих кабелей. Клеммы стоят очень плотно, здесь нет свободного места
Компоновка клемм тут отличается от стандартной. Обычно кабели у меня идут подряд, начиная со ввода. Здесь же монтажник, который прокладывал кабели по квартире, попросил меня изменить порядок следования клемм под его кабели (на самом деле, это плохо: обычно квалификации монтажника должно хватить, чтобы разложить кабели нормально). Обычно я такое не делаю, но тут решил пойти навстречу.
В итоге оказалось, что слева в щите встали клеммы от датчиков и кнопок, а справа — все силовые. Вполне себе тоже неплохо с точки зрения логики. Вообще для успешной сборки щита важно то, чтобы клеммы одинаковых линий стояли рядом. Тогда это позволяет соединить их нули перемычками (пост про перемычки здесь). Если же клеммы стоят не подряд, то к каждой надо подводить свой ноль, а это увеличивает количество проводов в щите и создаёт их месиво.
Ввод в щите оформлен достаточно стандартно. На вводе сети находится рубильник (так как вводной автомат находится в этажном щите), а на вводе UPS — автомат, так как он должен ещё и провода, которыми сделана разводка внутри щита, защищать от перегрузок. К вводному рубильнику и автомату установлены расцепители, при помощи которых щит может выключиться по термозащите (пост про неё) или по команде от ПЛК (например, удалённо в случае аварии).
Вид на часть ввода и управления питанием щита с кросс-модулями
На вводе установлены реле напряжения НоваТек РН-260t, которые в 2020 году, когда этот щит проектировался, были в наличии (пост про все реле напряжения от НоваТек — здесь).
Отключение питания на отпуск сделано при помощи контактора ABB ESB на 63А (пост про контакторы). Такие контакторы не имеют ручного управления, поэтому оно сделано при помощи переключателя ABB E214-16-101 на три положения: «Авто» (от ПЛК), «Выключено», «Включено». Ещё у контактора стоит дополнительный контакт, который отдаёт его статус в ПЛК, чтобы ПЛК тоже знал, включено ли полное питание в щите физически, или нет.
Так как ввод тут однофазный, то для распределения питания в щите мне отлично подошли кросс-модули LeGrand 4х7 (пост про разные кросс-модули тут). До сих пор кросс-модули от LeGrand остаются самыми лучшими из возможных. И аналогов им тоже нет, так как все Китайские кросс-модули повторяют ИЭК, а их шины не такие прочные и ломаются:
Трещина в шине кросс-модуля IEK (ИЭК)
Я до последнего не хочу уходить от LeGrand из-за этой особенности Китайских кросс-модулей. Фу! Собственно, когда ИЭК треснул, я выкинул его из щита и перешёл на LeGrand. Это был 2018 год.
Ну а снизу щита есть много места для релюшек и перфокороба. Для модулей ввода-вывода ПЛК я тоже отвёл много свободного места (две DIN-рейки вместо одной), и поэтому поставил там широкий перфокороб. Это облегчило разводку проводов вокруг них:
Вид на модули ввода-вывода и исполнительные реле
В общем, щит был собран, был написан опрос модулей IO, и первым делом щит встал в тестовый режим (тут я показываю его уже в окончательно собранном виде):
Щит в работе: все реле включены в режиме TestIO
Напоминаю, что фоточки, в которых все релюшки светятся — это не просто для красоты (красота важна), а ещё и для тестирования. Про это у меня есть целый пост. Там я рассказываю, как я делаю режим TestIO при помощи специального входа, при котором все выходы включаются на максимум. Этот режим позволяет проверить все реле, все выходы ПЛК и нагрузку на блоки питания в щите.
Заодно в данном проекте я ещё и написал имитацию IO от датчиков, чтобы проверить работу алгоритмов санузла: при тестировании щита температура на датчиках менялась по синусоидальному закону в заданных пределах, имитируя то нормальную, то повышенную, а то пониженную (про это тоже рассказано в посте про тестирование и отладку).
Дальше мне оставалось, как я думал, месяца за полтора-два написать программу, сдать щит и получить свои оставшиеся 120 тыр из доплаты. Однако это всё растянулось на 2 года. Зато, хах, все эти два года щит стоял в режиме TestIO (в том числе и при летней жаре без кондиционеров), и все блоки питания и реле выдержали максимальную нагрузку.
3. Косяк 1: Диммеры освещения (медленный Modbus в CodeSys 3.5). Метания с деньгами.
И вот тут-то и начались ПРОБЛЕМЫ. Такие, которых я НЕ ждал вообще и даже не думал, что такие бывают. Казалось бы, в чём сложность написать диммер, который работает по кнопке? Да ни в чём! Берём какую-нибудь переменную, которая будет у нас значениям яркости от 0 до 100%. И делаем такой алгоритм: по короткому нажатию кнопки включаем и выключаем диммер (яркость сохраняется в другой переменной), а по длинному — регулируем яркость, увеличивая её или уменьшая.
Проблема оказалась в том, что мне нужно было распознать одинарное и длинное нажатия кнопок ОТДЕЛЬНО друг от друга. Все мои прошлые алгоритмы этого не требовали: там одинарные нажатия пропускались и обрабатывались, как в компьютере при нажатии мышки. Например, при длинном щелчке мышью для перетаскивания объекта сначала сработает одинарное нажатие (выбираем объект), а потом длинное (перетаскиваем).
А тут нужно определять эти нажатия всегда отдельно, так как диммер точно должен знать, что с ним делают: включают-выключают или регулируют яркость. Как определять такие нажатия? Есть разные алгоритмы. Самый простой из них — это обрабатывать сигнал от кнопки по его спаду (F_TRIG, импульс после прекращения сигнала) вместе с выдержкой по фронту (TON). Работает это так:
- Как только мы нажимаем кнопку, срабатывает таймер выдержки TON (он включается по фронту, так что тут R_TRIG не нужен);
- Как только мы отпускаем кнопку, срабатывает таймер F_TRIG;
- Если кнопка нажата и сразу отпущена, то TON не досчитает до конца своего интервала. Тогда по срабатыванию F_TRIG мы определим короткое нажатие;
- Если кнопка нажата, и её не отпускают, то TON досчитает до конца и включится. Это будет сигналом о том, что мы обнаружили длинное нажатие кнопки, и надо регулировать яркость.
В этом случае после отпускания кнопки нужен таймер TOF с маленькой задержкой: он продолжит удерживать сигнал «Длинное нажатие», чтобы F_TRIG не сработал и не выдал ненужный здесь сигнал «Короткое нажатие».
Короче, три таймера — и мы получаем искомое. И так и работает мой диммер в проекте щита родственникам в квартиру (пост тут) и в другом щите для управления светодиодной лентой.
Но есть проблема: все те проекты сделаны на более быстрых устройствах. ПРки работают со входами очень быстро, и ПЛК110 на CodeSys 2.3 — тоже. А вот CodeSys 3.5 работает МЕДЛЕННО, и опрос модулей ввода-вывода там идёт реже, чем на CodeSys 2.3. Я не знаю, как так получается и почему более мощные и крутые ПЛК с CodeSys 3.5 опрашивают модули ввода-вывода медленнее!! И меня это БЕСИТ: крутой ПЛК с визуализацией, где не надо дополнительно делать проект для панели оператора — и такая вот хрень! При этом опрос модулей через дерево конфигурации или через Owen Communication Library (OCL) работает одинаково — медленно.
Я столкнулся с этим во всех проектах на CodeSys 3.5 и нашёл решение: отслеживать короткие нажатия кнопок по счётчику импульсов модулей IO. Тогда модуль можно опрашивать медленнее, так как мы отслеживаем изменения счётчика импульсов на входе. Когда по кнопке быстро ткнут пальцем, модуль подсчитает число нажатий на неё, а ПЛК потом считает его и поймёт, сколько раз нажимали: один или два. Длинное нажатие отслеживается в этом случае через TON как обычно: там 100-200 мсек не так важны.
Я прошу ОВЕН сделать обработку всех нажатий кнопок прямо в их модулях IO. Пока эта задача отложена, так как из-за санкций ОВЕН занимается переводом своих модулей на новую элементную базу. Если они сделают под меня эту фишку — это будет прорыв и победа!
И вот тут-то и вылезло западло на этом проекте. До этого я отслеживал все нажатия вместе. А тут-то мне надо сделать это раздельно, и ещё и обеспечить быструю реакцию на нажатие кнопки: ткнул по ней, и свет включился.
Вот что получается: так как мы опрашиваем битовую маску входов и счётчики импульсов по входам двумя разными запросами, то ПЛК не синхронизирует данные о них по времени. То есть, когда-то первыми могут прийти уровни, а когда-то — нажатия. А нам надо знать о нажатии и уровне в один момент времени, чтобы понять, что нажали: одинарное или длинное.
И весь мой отлаженный и удобный код стал тупить: если ты сделал одинарное нажатие, потом ещё раз одинарное — ПЛК мог опросить модуль так, что момент паузы между нажатиями пропускался: он опрашивал его не так часто, и «видел» то, что кнопка всё ещё нажата. В результате он интерпретировал это как длинное нажатие и начинал регулировать яркость.
А обработка нажатий по счётчику давала обратный эффект: как только ПЛК «видел» изменения счётчика — он сразу же считал, что это одинарное нажатие. И, когда до него доходила информация о том, что кнопка всё ещё нажата — это было бесполезно: он уже включал или выключал свет вместо того, чтобы его регулировать.
Если бы обработка таких нажатий была бы сделана в модуле IO аппаратно, то тогда задержка в передаче сигнала была бы. Но модуль внутри себя обрабатывал входы в едином процессе, получая единую информацию, и выдавал бы отфильтрованное нажатие нужного типа на выход для ПЛК.
Но и это было ещё не всё! Оказалось, что в CodeSys 3.5 есть ещё одно западло, кроме медленного опроса по Modbus. Если этот опрос хочется ускорить — то вместо ускорения в опросе начинают появляться ПАУЗЫ по 70 мсек! И вот это было полное фиаско!
Я, когда это увидел, не поверил своим глазам. Я выжал из ПЛК всё, что можно — и тут такая вот хрень!!! Скорость опроса, конечно же, 115200.
Здесь надо бы сделать заметку. Вы могли бы сказать: «Не знаешь — не берись». Но такое поведение CodeSys было сюрпризом для всех! Даже ОВЕНа. Прям вот Чёрный Лебедь вылез!
Когда ты смотришь опрос логическим анализатором (прошу прощения: скриншоты всратые, так как были сделаны ещё в 2020 году), то без увеличения масштаба он выглядит вполне себе нормальным: через равные промежутки времени идут данные запрос-ответ, запрос-ответ:
Вид на запросы Modbus штатного драйвера CodeSys 3.5
Но стоит только приблизить диаграмму, и тут виден косяк:
Вид на запросы Modbus штатного драйвера CodeSys 3.5 (увеличено: видна пауза между запросами)
Я рассмотрел все данные более детально. Вот ПЛК опрашивает по Modbus RTU модуль с адресом 0x0E (10) и даёт ему команду 0x03 (прочитать регистры), начиная с адреса 0x63 (99, битовая маска входов), две штуки:
Запрос Modbus в CodeSys 3.5: Master, Чтение битовой маски
Модуль ввода-вывода отвечает на этот запрос через 4.723 мсек (пусть будет 5 мсек):
Запрос Modbus в CodeSys 3.5: Интервал между запросом от Master и ответом от Slave (4-5 мсек)
То есть, к модулю претензий нет: он работает быстро и отвечает четырьмя (0x04, третье число слева) байтами (два WORD, DWORD), равными нулям — никакие входы не активны, кнопки не нажаты.
Запрос Modbus в CodeSys 3.5: Ответ от Slave, чтение битовой маски
А дальше ПЛК на CodeSys 3.5 почему-то ждёт 73.11 мсек, а потом посылает следующий запрос:
Запрос Modbus в CodeSys 3.5: Странная пауза между запросами от Master (70 мсек)
Этот запрос — счётчики входов. Их много (32 штуки), поэтому модуль отвечает чуть дольше — за 5.171 мсек (вместо 4.723 мсек, то есть на 0,448 мсек дольше).
Запрос Modbus в CodeSys 3.5: Интервал ответа модуля IO на запрос (5 мсек)
А дальше CodeSys 3.5 снова делает чёртовы пазуы. Всегда. Везде.
Запрос Modbus в CodeSys 3.5: Паузы пауза между запросами от Master
Посчитаем худший случай:
- Запрос от Master на битовую маску — 5 мсек;
- Ответ модуля — 5 мсек;
- Запрос на счётчики входов — 5 мсек;
- Ответ модуля — 5 мсек.
Итого два запроса будут обработаны за 20 мсек. Значит, при 6 модулях IO каждый модуль будет опрашиваться через 20 x 6 = 120 мсек. Это более-менее терпимо.
Но у нас на каждый запрос-ответ вылезают ещё +70 мсек паузы! Поэтому каждый модуль у нас будет опрошен за 20 + 70 + 70 = 160 мсек!! А 6 модулей, соответственно за 160 x 6 = 960 мсек. То есть раз в секунду. И это ОЧЕНЬ МНОГО!!
При этом CodeSys 2.3 стреляет данными как из пулемёта! Интервал между его запросами — 11.5 мсек вместо 70 мсек!!
Работа обмена по Modbus на CodeSys 2.3: пауз между запросами от Master нет
Фиаско! Это ж получается, что в щит можно ставить какой-то ПЛК или ПРку, которая будет быстро опрашивать эти чёртовы модули, а потом по Modbus передавать в ПЛК данные счётчиков входов, мать их. Я такое решение ещё не делал, но где-нибудь (на тестовом стенде?) попробовал бы его. Может, выпросить у ОВЕНа новые модули на 32 входа (штук так 4-5) и собрать стенд на ПРке или ПЛК110? Мне даже интересно, как это заработает. А что будет, когда CodeSys 2.3 перестанут поддерживать? Нет, нет! Нужно делать аппаратную обработку кнопок в модулях IO!
У меня опустились руки, и я запаниковал, так как рассчитывал на деньги от этого щита, а другие заказы к этому времени ещё не были готовы к сборке и сдаче. Это завело меня в состояние панических нервов и атак, и, чем больше я старался искать решение, тем меньше получалось хоть что-то. А сроки поджимали, денег не было, и тут…
Заказчик предложил компромисс: он мне авансом выплачивает денег, а я потом доделываю программу. Я, как дурак, схватился за это решение как за соломинку, но, как вы потом узнаете, оно не сильно помогло, а завело меня с этим проектом в ещё большую яму косяков. Ща всё расскажу!
Когда я получил денег (а я такого никогда не делал, я привык сначала делать работу, а потом их получать), это меня ни разу не расслабило, а из-за гиперответственности заставило ещё сильнее нервничать и искать решение без отдыха. Были и истерики, и попытки даже вместе с заказчиком выдумать алгоритм.
А деньги-то кончались (цены росли), и… мне пришлось брать новые заказы. Это превратило всю ситуацию в ещё более стрессовую: я знаю, что я ДОЛЖЕН и ОБЯЗАН НАЙТИ РЕШЕНИЕ ХОТЬ ТРЕСНИ, но при этом понимаю, что мне будет нечего кушоть и нечем за квартиру платить. Каждый раз, когда я брал другие заказы, я думал то, о чём говорил в начале поста: что я днём поделаю провода в щите, а вечером сяду за этот чёртов диммер и буду искать, искать решение.
Но получалось так, что под вечер я понимал что мне в силу моего характера надо 1-2 часа на переключение на другое действие. А, пока они проходили, наступала ночь, и я хотел спать. Я думал: «ОК! Завтра пораньше закончу другой заказ и сяду за этот». Но как раз именно завтра оказывалось, что в этом «другом заказе» до какого-то логического завершения оставалось буквально 10 проводов, я их доделывал с мыслями «Быстрее закончу, быстрее сдаам, будет денег и время», и… ложился спать!
Я стал безумен, как программист в рассказе «История Одного Байта» (по аналогии, мне не хватало всего одной сотни миллисекунд). Я сделал длинный провод к отладочной кнопке, положил её рядом с компьютером и смотрел, смотрел в отладчик. И ничего не мог сделать с этим чёртовым ядром CodeSys 3.5! Иногда я размахивался этой кнопкой на длинном проводе и бил ею об пол от бессилия что-либо понять (хаха, старая UNICA всё выдержала — только суппорт погнулся)…
И выхода из этой ситуации на тот момент НЕ БЫЛО. Если тут есть грамотные управленцы — подскажите. Первое, что мне приходит в голову — это нанять кого-то для подработок: расставить модульку, клеммы, соединить простые части щита. Но им же надо платить денег, а я уже начал собирать долги И не брать новые заказы я не мог: во-первых, и людям нужны щиты, а мне — отдача и реклама от них, во-вторых, мне нужны деньги.
Сейчас, через три года, я бы сказал что Декабрь 2020 года был сильным переломом в моей жизни: в тот момент мой дзен ушёл, а понятия «Жизнь» и «Работа» разделились: если раньше я делал что-то в потоке, одновременно и для людей и для себя, то после этого «для себя» исчезло как класс, и всё стало «для денег». Это отразилось на системе самопохвалы: мне стало казаться, что я делаю мало, недостаточно. И система отдачи от сделанного сломалась: вот собираешь ты щит до 2 ночи, чтобы успеть, получаешь даже радость от процесса того, как классно соединяются провода… а потом сдаёшь, получаешь денег — и они кончаются через 1-3 дня (!!!!), потому что ты оплачиваешь ими долги или покупаешь необходимое.
И при этом всё вокруг стресс, стресс, стресс: диммер, диммер, диммер. Это было как проклятие! Оно довело меня до такого дикого эмоционального выгорания, что в 2021 году я, получая новое мыло, падал в полуобморок, спал, а потом снова доходил до мыл и снова падал в полуобморок. Даже защиты в виде злости не не хватало. Это было УЖАСНО, и сейчас, в 2024 году, я ещё до сих пор не могу оправиться.
В итоге мы с Евгением Кисловым из ОВЕНа (выражаю ему крайнюю признательность и благодарность) стали думать о том, как ещё можно убыстрить опрос по RS-485. И решение было найдено. Оно потребовало переделать щит. Итак, самый быстрый вариант опроса по RS-485 Modbus для CodeSys 3.5 — это работа с портом напрямую через библиотеку SysCom, которая позволяет посылать и читать из порта байты (когда-нибудь я сделаю про неё пост на основе этого).
Если составить рейтинг скорости опроса в CodeSys 3.5, то он будет таким:
- Самый медленный — опрос при помощи Шаблонов в дереве проекта;
- Опрос при помощи Modbus Slave Device в дереве проекта;
- Опрос при помощи Owen Communication Library (OCL);
- Самый быстрый — опрос при помощи SysCom.
Как я понял, все варианты опроса, кроме SysCom, используют штатный драйвер CodeSys для работы с портом (OCL — тоже), и он-то как раз и тормозит. Но и с SysCom есть проблема: она СИНХРОННАЯ!!! Это означает, что код, который написан с использованием этой библиотеки, выполняется не параллельно с программой ПЛК (Асинхронно: дали команду на передачу, и оно передаётся), а в программе ПЛК.
То есть, всё как в микроконтроллерах: если мы начали посылать байты — то работа программы блокируется, пока мы их всех не пошлём. Если мы начали принимать байты — то вся программа тоже встаёт, пока не примем. И это сильно (+10-20%) нагружает процессор ПЛК.
В общем, мне понадобилось разобраться с SysCom (и понять, что она возвращает не сразу все байты ответа, а столько, сколько смогла принять за один цикл программы ПЛК из порта, и что общий ответ надо склеивать побайтно в единое целое) и выделить три модуля входов на отдельный интерфейс RS-485, чтобы только они опрашивались быстро (чем меньше устройств — тем быстрее опрос).
Это помогло, и худо-бедно диммер я смог написать. Однако, если на обычные кнопки можно было быстро тыркать, то на кнопки диммеров надо было нажимать с задержкой. То есть, аппаратная обработка кнопок в модулях ОВЕН всё равно крайне нужна!
4. Косяк 2: Сдохли модули RazumDom DDL04R (стоимость владения и ремонта).
Для того, чтобы управлять диммерами Finder по 0..10V я использовал в этом щите диммеры (они их тоже так называют, вот мой пост про них) RazumDom DDL04R (на данный момент давно сняты с производства).
Модули сигналов 0..10V от RazumDom DDL04R для диммирования освещения
В тот момент, когда заказчик заказывал щит, он просил сэкономить, и я решил применить эти диммеры, так как до этого использовал их без нареканий (кроме запрятанного внутрь светодиода индикации работы и опроса) в других проектах. Я подключил выходы 0..10V к диммерам, и всё сразу заработало.
Но ненадолго. Итак, стоит щит полгода в тестовом режиме, я пытаюсь придумать опрос кнопок для диммеров… и тут вдруг я смотрю, что на одном модуле диммера светодиод опроса не подмаргивает при опросе, а медленно мигает. А потом смотрю на диагностический экран в ПЛК — а там ошибка связи с этим диммером. Опаньки! Сдох!
Пишу в RazumDom, и они просят прислать им диммер на… как оказалось, ремонт. Заливают прошивку и отправляют назад. Все пересылки идут за мой счёт. Оказывается, в диммере слетела прошивка. Причина — неизвестна. А дальше начинается дичь: диммер работает ровно неделю — и у него снова слетает прошивка!!! И мне снова отвечают: «Присылайте, починим».
К тому времени у меня накопилось много претензий к RazumDom: и к корпусам ИХНИХ (я не могу сказать «Их») датчиков, у которых клеммы для подключения торчат наружу (фотка будет ниже), и к поддержке устройств: захотели, выпустили, захотели — перестали делать, захотели — переделали.
Датчики климата от RazumDom с некрасивыми и неудобными корпусами
В общем, отругал я их. Получил ответ в стиле «Да ну мы скоро вообще не будем их делать», и подсчитал стоимость расходов. Этот DDL04R стоил тогда ровно 3000 рублей. Я отправил его им за 400 рублей. Забрал назад за 700 рублей. Итого за 1100 рублей. Если бы диммер скатался бы туда-сюда второй раз, то это стоило бы 2200 рублей. Почти полную стоимость всего диммера. При этом причина слёта прошивки не была устранена: другие диммеры-то работали! Значит, дефектным был только этот один, и его надо было бы вообще заменить. Но нет, только ремонт.
Я разругался настолько, что порвал все связи с этим RazumDom напрочь. Последнее, что я им написал — это про стоимость владения. Но, как оказалось, они таких слов не знают.
Это стоимость денег, которые потратятся за всё время, пока мы чем-то владеем — например, оборудованием. Сюда входит стоимость расходников, ремонта, перевозки, запуска, обслуживания и прочее и прочее (методика расчёта для каждого бизнес-процесса определяется своими способами).
Короче, волевым решением одним из вечеров все эти диммеры были выкинуты из этого щита, и вместо них были поставлены модули аналогового выхода от ОВЕНа:
Часть модулей RazumDom DDL04R сдохла. Принято решение заменить их на ОВЕНские модули сигналов 0..10V
Это снова потребовало денег (мы купили их с заказчиком в пополаме, так как свободных денег даже на это у меня уже не было) и пересборки щита.
Дело в том, что мелкие диммеры от RazumDom имели общее питание выходов и не требовали дополнительных резисторов нагрузки для них. А вот ОВЕНские модули более сложны в подключении. Там каждый выход имеет отдельное питание (так как полностью развязан от других), и им требуются резисторы нагрузки сопротивлением около 2 кОм.
Тут мне пришлось ставить их прямо на диммеры:
Для модулей сигналов 0..10V от ОВЕН необходимо установить резисторы нагрузки на 2 кОм
Ещё около этих модулей увеличилось количество проводов, так как на каждый выход из шести надо было подать отдельное питание.
Но мне повезло! Эти модули влезли сюда вместо пяти модулей от RazumDom, и даже перфокороб закрылся.
Дохлые модули сигналов 0..10V от RazumDom заменены на аналогичные от ОВЕН. Новые модули удачно встали на место старых
А сейчас в 2024 году я узнал, что эти чёртовы модули RazumDom сдохли ещё в одном щите, куда я их ставил. Тоже перестали отвечать на запросы. И там мы будем менять их на WB-LED. Короче, брак 100%. Вот так вот.
5. Косяк 3: Привет, WB-MSW v3 со старой прошивкой (2021): медленный опрос датчиков Modbus.
Пишу я, значится, программу для ПЛК. К этому времени я даже сделал мощный рефакторинг её элементов и добавил туда разные дополнительные функции типа сбора статистики, продвинутого окна диагностики связи с устройствами…
И тут вдруг заказчик выдаёт новую мысль о том, что датчики WirenBoard будут быстро определять движение в комнатах. Ээээ… что? Почему это быстро? Нет! Не быстро! А около 15 секунд, потому что сложилось много факторов:
- Датчики WirenBoard имели ту самую «старую» прошивку, про которую я ругался в посте про них. Она не позволяла считывать из датчика все регистры подряд, и на один датчик приходилось около 13-15ти запросов Modbus;
- Термостаты тёплых полов, которые заказчик купил на Алишке, имели жёстко прописанную скорость 9600, из-за которой вся линия связи была настроена на эту скорость;
- На этой же линии у нас ещё и находились два модуля аналоговых входов для щита санузла, которые собирали данные о температуре и давлении там. Эти модули имеют большую карту регистров и требуют много времени, чтобы её считать.
Всё это и приводило к тому, что движение от датчиков передавалось с задержкой. Но это было нормально, так изначально как раз и предполагалось то, что все данные будут собираться раз в 30-60 секунд для информации, а не для управления чем-то. Но заказчик со своей манерой писать по 5 мыл за ночь и удивлением вида «Ой! А я думал, что это будет работать так-то, а разве нет? А почему?» решил по-своему. Оказывается, он хотел завязать на движение с датчиков WirenBoard работу кварцевых ламп: при движении лампа не включается, а если она работала, и было определено движение — выключается или ставится на паузу.
И вот тут началась возня с WirenBoard, на которых я наседал и требовал: «Да сделайте режим чтения регистров подряд одним запросом без пропусков». В конце концов к концу 2022 года они это сделали и, наконец, обновили прошивку! Теперь там появился режим чтения регистров с пропусками.
Но тут вскрылась ещё одна ерунда: когда заказчик покупал датчики, то брал их БУшные с Авито с разными датами выпуска и аппаратными ревизиями. И они были хреново откалиброваны, поэтому их параметры расходились.
Спасибо ребятам из WirenBoard, которые обменяли мне все эти мутные датчики на новые (я там ещё и баг с обработкой данных от датчика CO2 нашёл: периодически они пропадали)!
Вот, они прислали их вместе с образцами измерителей тока WB-MAPx, про которые я написал пост. Кошочка всё заинтересованно изучает:
Кошочка заинтересовалась коробочками
Обновление датчиков тоже было бонусом для заказчика. Этот бонус должен был скомпенсировать задержку сроков сдачи щита.
Итак, датчики настроены и собраны в «гирлянду» около щита:
Датчики климата WirenBoard WB-MSW подключены для отладки и настроены на нужные параметры связи
Программный код ещё раз переписан (на этот раз чтение регистров подряд), число запросов к датчикам сократилось, и время их отклика стало около 15-20 секунд. Это уже лучше, но недостаточно!
А тут ещё выяснилось вот что: если изначально по проекту щит Санузла использовался только для сбора данных о температуре и давлении, то потом (про это будет рассказано дальше в посте) заказчик выдумал понаставить туда кранов с мотором и датчиков протечки (все эти доработки тоже были бесплатны с моей стороны).
И из-за большого времени опроса получалось так:
- Сработал датчик протечки;
- ПЛК через примерно 20 секунд опросил модуль и узнал про это;
- ПЛК выждал 5 секунд выдержки (защита от ложных сработок; можно отключить или настроить другое время);
- ПЛК выдал сигнал закрытия кранов воды;
- Сигнал дошёл до модулей через 20 секунд.
То есть, общее время реакции было бы около 45 секунд! А это ДОХРЕНА. Если трубу прорвёт — так там секунд за 20 нальётся дофига воды! Поэтому заказчик снова расстроился по схеме «А я думал что…». Это его особенность: он сначала придумывает простые решения (на что я и купился с этим щитом и проектом, как писал в начале поста), а потом на основе их, не думая о последствиях, хочет сделать охрененно расширенный функционал.
Мыслил он именно так: «Во! А у нас же движение отслеживается! Давай сделаем по нему выключение кварцев» и «А ведь в санузле же целый щит есть с Modbus! А я по скидке купил дофига кранов с мотором! Давай сделаем там автоматику управления водой и защиту от протечек: ПЛК же по Modbus всё будет опрашивать».
И вот формально-то он прав. А хрень кроется в деталях: как опрашивать, с какой скоростью, и так далее. При этом отказаться от хотелок он не может: ему их хочется.
В общем, я ему поставил условие: или он оставляет всё, как есть, или отказывается от какого-то функционала. Но, хах, мой горячо любимый (к тому времени) заказчик пошёл другим путём. Звонит он мне и выдаёт (к этому времени я эмоционально выгорел так, что с саркастичной улыбкой говорил ему: «Ну? Шо ты снова выдумал на этот раз?») мысль: «А я тут на Алишке нашёл такие же термостаты тёплого пола с Modbus, но в них уже скорость связи можно менять аж до 115200»!
О! Это же круто! Значит, можно повысить скорость линии связи и сократить время опроса! И тут заказчик отжигает: «Давай я закажу один, и мы оттуда достанем прошивку и перезальём в мои?». Тут я разозлился: что ж за манера такая, думать что всё легко исполнимо! Он реально так думает (и это ещё одна из причин провала проекта)!! Он думал, что там есть какое-то USB, и, наверное, лежит какой-то файл. И его можно скопировать.
А на самом деле в этом термостате стоит какой-то микроконтроллер (привожу фотку из поста про них):
Управляющая плата термостата тёплого пола с Modbus, совмещённая с LCD-экраном
И, если действительно можно слить прошивку, то нужно:
- Найти документацию на этот микроконтроллер;
- Найти программатор, который подходит для этого микроконтроллера (для каждой линейки — свой);
- Найти куда разведён интерфейс SPI/JTAG (или ещё какой) на плате термостата;
- Найти среду разработки под эти микроконтроллеры.
И потом пробовать это всё подключить и слить прошивку. При этом прошивка может быть защищена. Защита часто работает так: прошивка читается, но вместо неё там случайные байты и мусор. То есть, не всегда считывание прошивки означает успех.
Кое-как я это всё заказчику объяснил, и — нет же! — он пошёл искать программатор. Хорошо, что оказалось, что этот микроконтроллер — какой-то Китайский, и в РФ такие программаторы не поставляются.
Однако наглость и хитрость заказчика не знает границ! Тут я уже аж даже смеялся от его позитивной находчивости (правда, такая же наглость и находчивость привела к провалу и нашего с ним проекта).
Он решил заказать новые термостаты с Алишки с настройкой скорости связи, а потом ОБМЕНЯТЬ их на старые! ДА! Сука! ДА! Он это провернул! А так как к «старым» термостатам я припаял свои, более длинные, провода для входа RS-485, то мне пришлось участвовать в этой афере: перепаивать свои длинные провода на новые термостаты, а коротенькие штатные провода — к «старым», чтобы он выглядели так же, как и обычно.
Вот они — новые термостаты. Висят тоже гроздью, как и датчики:
Термостаты тёплых полов с Modbus подключены для отладки и настроены на нужные параметры связи
Оставлю тут заметку-рекламу своей технологии. Я уже давно стал помечать наклейками всё оборудование, которое используется в проекте (вы эту фотку видели сто раз). На наклейке я пишу адрес и место установки оборудования:
Все внешние устройства Modbus (датчики, термостаты) упакованы и помечены наклейками с адресами и местами установки
Такие же наклейки есть и внутри корпуса оборудования, чтобы при монтаже нельзя было ошибиться. А позже я написал систему учёта этого оборудования в 1Ске. Вот пост про неё.
Но поднятие скорости связи НЕ помогло. Да, время опроса уменьшилось ещё немного, но этого не хватало (хах, этот проект — сказка о потерянном времени: время опроса модулей — большое, датчиков — большое).
В общем, волевым решением было принято использовать ещё один интерфейс СПК и перевести щит Санузла на отдельную линию связи, чтобы ускорить его опрос и разгрузить общую линию связи датчиков.
Только вот свободные интерфейсы RS-485 кончились: их было три, и они были заняты под опрос модулей кнопок, опрос модулей выходов, опрос магистрали датчиков. У СПК было ещё два интерфейса RS-232, один из которых был занят под модем. Вот второй свободный RS-232 и можно было задействовать.
Пришлось брать преобразователь интерфейсов ОВЕН АС-3М и впихивать его в щит. На тот момент в щите уже были внесены и другие правки, и места там было мало.
В щит добавлен преобразователь RS-232RS-485 для отдельной линии на щит Санузла
А ещё не хватило места на DIN-рейке, чтобы добавить разъём для этого интерфейса. Там тоже всё было занято, и поэтому разъём я прикрутил сбоку:
Для ещё одного интерфейса связи с СПК пришлось добавить разъём аж на вертикальный профиль щита!
Так щит санузла распух и получил себе выделенную линию связи, а среднее время опроса 10 датчиков (9 от WirenBoard + 1 Уличный) и 10 термостатов тёплого пола стало около 4,8 секунд. А я ещё когда-то удивлялся, что в СПК так дофига интерфейсов связи. В этом проекте заняты все пять!
6. Косяк 4: Изменения и доработочки без доплаты. Хочухи и печальные выводы!
Все эти хочухи объединяет их неорганизованность и то, что я поддался им без составления актов, без дополнительной оплаты за них. Оплата могла бы быть даже символическая — хоть тыщу рублей, но она обязана быть. Помню, как я ругался на своего ex-напарника, который ездил осматривать объекты бесплатно. Я ему говорил, чтобы он брал за это денег хоть 100 рублей, а он отказывался. Я (теперь, зализывая раны) считаю что это ни фига не правильно. И дело не в сумме денег, а в структурировании людей: если ты платишь, то ты относишься более ответственно, чем когда это звучит как «Да, заеду сегодня».
Все хочухи заказчика росли как снежный ком. Где-то он ставил меня перед фактом, как с кранами воды в щите санузла, а где-то спрашивал о том, можно ли что-то добавить. Подлость всей ситуации была в том, что все такие добавления казались простыми (а по отдельности так и есть), но потом на них накручивалась более сложная логика, и это требовало больше ресурсов.
Вот взять тот же щит санузла, про который я расскажу прям вот уже в следующем заголовке. Он был выбран с запасом по размерам, а потом, когда туда добавились модули для управления кранами воды и прозвучала хочуха про «нет, вот хочу реле с ручным управлением», в этот щит еле-еле всё влезло. А потом под него пришлось менять интерфейсы связи, переписывать опрос модулей IO… и понеслось!
То же самое касалось GSM-модема. Одно дело — добавить его в щит на условиях «Пусть будет, потом СМСки будет слать», и другое дело — написать очередь сообщений, отправку аварий, и ещё и алгоритм «Если входная дверь не заперта, а движение в квартире есть — пусть каждые N секунд шлёт СМСку о тревоге». Так всё и разрасталось.
Та же система измерения токов ABB CMS, которую мы сюда добавили (в посте про неё как раз есть фотки датчиков этого щита). Получилось, что мне нужно было написать весь её опрос и вывести все данные с неё на экраны помещений. Это тоже заняло время.
Датчики системы ABB CMS в работе
В какой-то момент заказчик брякнул про то, что раз щит управляет батареями отопления по температуре от датчиков WirenBoard, то надо как-то придумать то, чтобы этот алгоритм включался тогда, когда отопление дадут, а не работал круглый год. И мы стали с ним выдумывать то, как это сделать.
Додумались до того, чтобы считать среднюю температуру за неделю и решать: если она ниже нормы, то тогда отопление включат, и можно управлять батареями. Это потянуло за собой создание сложных FBшек для вычисления Минимума, Максимума и Среднего по разным срезам (Час, Сутки, Неделя, Месяц):
Блоки сбора статистики и средних значений данных с датчиков за разные периоды
Конечно же, эти FBшки пригодятся в других проектах, но это всё занимало время и создавало стрессовое ощущение того, что проект никогда не будет закончен в принципе: он пух и пух как метастазы рака.
Вообще, вся наглость заказчика вылезла тогда, когда я начал спрашивать о том, какие алгоритмы работы надо вложить в программу управления. Я рассчитвывал на то, что мы сделаем базовый функционал щита, и потом заказчик, как и собирался, будет дорабатывать программу сам. А в итоге, когда заказчик стал диктовать свои хотелки, у меня лицо вытянулось и волосы дыбом встали. Даже там, где их не было. Их было МНОГО, и они были сложные.
И при этом это первый случай за всю мою историю, где я не хочу винить заказчика. У него такой вот наглый характер: пролезть, придумать, спросить, окутать всё ложным позитивом. Вина здесь полностью моя — я шёл на поводу у заказчика, пытаясь этим компенсировать задержку сдачи щита. И это я позволил сесть себе на шею, работая без фиксации всех хотелок актами.
Вот в другом проекте, где я тоже задержал щит из-за того, что вся очередь заказов сбилась, мы заключили чёткое и понятное мировое досудебное соглашение: я уменьшаю стоимость работ, за свой счёт делаю временный щит питания коттеджа и собираю основные щиты до такого-то срока, а заказчик выплачивает мне денег частями (сделал вводы до кросс-модулей — получил, сделал силовую часть — получил). Это было в этом, 2024 году, и это было чётко и ясно: мы подписали бумаги, и я понимал что у нас всё описано и зафиксированно, и что внезапных «Ой, а давай ещё вот так сделаем» или «Я передумал: хочу щит ещё раньше, чем оговорено» не будет.
Ещё одна глобальная ошибка — это перекладывание вины на себя. Конкретно тут это касается работы оборудования, которое я применил. Напоминаю наш контекст:
- Западло с опросом по Modbus в CodeSys 3.5. Это НИГДЕ не документировано в принципе! ОВЕН про это не упоминает и не пишет. В итоге получается так: я имею большой опыт работы с CodeSys 2.3 на ПЛК110 (вот мой первый проект на нём из 2016 года), а потом читаю про «Новый СПК на CodeSys 3.5 быстрее, мощнее и производительнее». Хм! Раз CodeSys 2.3 шлёт запросы в Modbus как пулемёт, то более мощный и производительный CodeSys 3.5 должен слать их вообще как какой-нить скорострельный пулемёт с 6 стволами. А он работает как рогатка: еле-еле!
И по идее ОВЕН должен или предупреждать о медленной скорости работы драйверов Modbus, или решать эту проблему как-то. В идеале я ХОЧУ и даже ТРЕБУЮ, чтобы они сделали поддержку обработки кнопок в их модулях IO. Это решило бы ВСЕ проблемы сразу (под любой ПЛК или ПРку). - Хреновая карта регистров и неудобный опрос датчиков WirenBoard старой версии (сейчас решено уже как два года назад). Это же тоже не моя вина, а вина производителя.
- Ну и сраные-драные-ссаные модули от RazumDom, как и вся их продукция (датчики климата, которые они мне прислали, глючат и тупят). Пафоса дофига, а стоимость владения составляет 2/3 от стоимости устройства. Дохнут они быстро, а поддержки нет.
Задним умом мы все крепки. И сейчас я понимаю, что надо было делать по другому: волевым жестом обрезать хотелки или менять решение и проект. Например, попробовать провести опыты с тем, чтобы мелкий ПЛК или ПРка опрашивали модули и передавали в большой СПК результаты опроса кнопок. Но само это решение родилось у меня только год назад, когда я поставил ОВЕНу задачу сделать опрос кнопок аппаратно. А вот в 2020 году это витало где-то в области «Ну, в теории, может быть, но не факт».
И надо было составлять акты на все косяки, на все действия. Тем более что механизм составления Актов у меня в CS CRM сделан очень удобным и классным. Адское выгорание и постоянный стресс сделали меня тупым и безумным. Я продолжаю залечивать раны.
7. Косяк 5: Щит Санузла с доработочками. Невпихуемыми.
Итак, если вы уже дочитали до этого места, вы помните то, почему щит санузла раздуло, и оборудования там стало в два раза больше, чем планировалось. А если нет — то я перескажу всю историю.
Изначально щит санузла планировался только для сбора данных с датчиков — давления, температуры. Там должно было стоять немного клемм для подключения этих датчиков и два модуля ввода аналоговых сигналов (по 4 DIN-модуля каждый).
Но потом заказчик внезапно купил 13 кранов «Нептун» с электроприводом по большой скидке (или какие-то неликвиды, что ли), и захотел управлять ВСЕМ в санузле автоматически. При этом он обязательно хотел поставить на эти краны реле с ручным управлением, так как сами краны у него находятся в труднодоступном месте (зря он так сделал), и их руками покрутить будет нельзя. Для этого понадобилось так много места, что НИЧЕГО НЕ ВЛЕЗЛО В ЩИТ на 54 модуля, который на этапе проектирования был заполнен наполовину!
И, конечно же, щит заменить было нельзя. Потому что место для него было ограничено вот этой вот зоной:
Место в Санузле для щита автоматики санузла
Сверху у заказчика проходит труба горячей воды на полотенцесушитель, из-за которой щит нельзя взять выше (например, на 72 модуля). На самом деле зря он это выдумал. Лучше бы поставил бы электрический, как я когда-то. Я же тоже ставил водяной, и тоже на PEX, и он у меня сгнил.
В итоге я предупредил заказчика о том, что тот, кто будет подключать этот щит, будет очень сильно материться и мучиться (заказчик согласился на словах) и собрал ВОТ ЭТО:
Щит Санузла на базе щита Mistral IP65, в который напихано в 1,5 раза больше, чем можно
Нет-нет! Вы не ошиблись! Это щит ABB Mistral IP65 (пост про них) на 72 модуля (3х18), в который я добавил по одной DIN-рейке с краёв, просто прикрутив её к корпусу:
Дополнительная DIN-рейка, добавленная в щит
И сальников тут тоже МОРЕ РАЗЛИВАННОЕ. С нескольких сторон корпуса.
Множество сальников PG для ввода кабелей от датчиков
Если не смотреть на эти ужасные DIN-рейки, которые я добавил с краёв корпуса, то щит выглядит даже аккуратно: провода не торчат, ничего лишнего нет.
Общий вид на собранный щит санузла
В таких щитах не проложишь перфокороб, куда я обычно убираю провода. Я аккуратно изгибал провода так, чтобы они лежали петельками и более-менее ровными линиями. Обожаю работать с гибкими проводами. С жёсткими я бы так не смог.
Монтаж проводов от модулей IO внутри простого щита без перфокороба
А теперь начинаем дичь!
Это — нижняя рейка щита. Здесь стоят блоки питания, клеммы для подключения приводов кранов и служебные клеммы: шунтов для датчиков давления, защиты цепей. Места нет ни фига!
Места в щите санузла НЕТ: блоки питания упираются в нижний край щита
Щит набит настолько плотно, что клеммы кранов пришлось перенести в нижнюю часть (и сальники вводов тоже).
Даже шинки N и PE было некуда установить, и я прикрутил их к боковой стенке корпуса щита:
Шинки N и PE прикручены к корпусу щита, так как их некуда устанавливать
А вот кошмар монтажника — верхняя рейка щита с клеммами для подключения датчиков.
Места в щите санузла НЕТ: клеммы упираются в верхний край щита
Вот, посмотрите на этот кошмар в целом:
Щит санузла готов! Пластроны на него не устанавливаются, так как им мешают модули IO и реле
Дааа… тут надо иметь всякие медицинские зажимы и корцанги, чтобы ими ухватывать кабели, протаскивать их через сальники и потом заводить на клеммы. Вот к чему привели необоснованные хочухи-хотелки и то, что я на них согласился, думая что этим компенсирую задержку в сборке щита.
В итоге из-за того, что в щите были установлены ОВЕНские модули вывода, которые не влезают под пластроны, пластроны сюда установлены не были. Степень влагозащиты щита при этом сохраняется, так как её обеспечивает дверь щита.
Готовый щит санузла с закрытой дверью корпуса
Но и даже на этом страдания с этим щитом не закончились. Как вы уже поняли, он был задуман так, что все кабели от оборудования будут заходить в него через сальники. Но НИКТО не обратил внимание на то, что оборудование расположено далеко от этого щита, так как сантехшкаф там огромный. И что кабели от оборудования — короткие и не дотянутся до этого щита. Поэтому при монтаже (про это написано во второй части поста) нужно было как следует повозиться, чтобы подключить этот щит.
8. Навороченная программа для ПЛК. ОЧЕНЬ сложная.
К этому моменту апогей проекта наступил. Вместе с 2023 годом. За прошлые годы я сделал разные проекты и пришёл к стабильности низкого уровня: было дохера долгов и неоплаченная коммуналка. Стресс был постоянным, но организм к нему адаптировался тем, что начал отключать чувства и эмоции. Они оставались только для самых близких, но и с ними иногда перемежались усталостью.
В общем, я решился: вывесил на сайте новость о том, что не беру заказы, что ЗАНЯТ — и писать программу до победного конца. Набирая долгов, так как надо было что-то кушать и на что-то жить.
Программа писалась жёстко, так как мне понадобилось ещё раз рефакторить весь код, который касался обработки обмена по Modbus. Там появилась более грамотная фильтрация ошибок, сбор статистики, вычисление скользящего среднего времени опроса. Мне пришлось написать FB (функциональные блоки, пост про них) для обработки данных от датчиков WirenBoard, для работы с термостатами тёплых полов и переписать FB управления кранами воды и шторами под новые задачи с более расширенным функционалом.
Так как шёл третий год работы с этим щитом, то я решил в качестве компенсации за то, что щит так долго собирался, написать заказчику не базовую программу, а ВСЮ целиком. И, конечно же, не взял за это больше денег. Заказчик со своей стороны напридумал дофига алгоритмов, с которыми я прилично повозился.
Вот сейчас я и расскажу про всё, что тут придумано. От программы я получил удовлетворение по большей части (кроме диммеров). Мне понравились мои лаконичные интерфейсы и то, как я там всё расположил и как много данных вывел. Я хочу найти настроение и время и переписать программу своего домашнего СПК в таком же стиле.
8.1. Комнаты.
Если в прошлых проектах на СПК мне хватало одного экрана на одно помещение (и они переключались вкладками-кнопками снизу), то сейчас в каждом помещении квартиры было так много подсистем, что пришлось делать ещё и боковые кнопки, которые переключают эти подсистемы.
А раз подсистем много, то у меня завёлся экран Сводки, на котором есть краткий и быстрый доступ ко всем ним:
Интерфейс щита на ОВЕН СПК: Сводка и быстрое управление по комнате
Тут можно поуправлять Светом, Шторами, Отоплением, Тёплыми полами и посмотреть графики параметров климата с датчиков (заодно отображается статус дверей и окон).
В Освещении можно включать и выключать группы света, а для диммеров задавать яркость. Сами диммеры написаны так круто, что управляются и кнопкой и выключателем и ползунком с экрана (используются переменные типа VAR_IN_OUT, и я рассказывал про такой способ в посте про Функциональные Блоки).
Интерфейс щита на ОВЕН СПК: Управление освещением
Ещё тут есть управление кварцевой лампой в каждом помещении. Она запускается по сложным условиям: Окнам, Двери, Движению. Расскажу про них в разделе настроек программы (там алгоритмы будут понятнее).
Так как обычно к свету ещё и всякие вентиляторы относятся, то я их вынес сюда же. Для кухни тут есть ещё и управление вытяжкой. Она управляется тоже одной кнопкой: последовательные нажатия переключают её скорость, а длинное — выключает.
В разделе Климата у меня находятся шторы и управление тёплыми полами и отоплением:
Интерфейс щита на ОВЕН СПК: Управление шторами, тёплыми полами и отоплением
Я получаю данные с термостатов тёплых полов по Modbus и вывожу их на экран. А если на экране что-то изменить, то оно запишется по Modbus в термостат тёплого пола. Дополнительно выводится куча информации про работу пола, в том числе и потребляемый им ток.
А отопление вообще работает охренеть сложно. Здесь можно задать желаемую температуру в комнате, включить режим регулирования или просто перекрыть батарею (она перекрывается одним краном, чтобы сообщалась по давлению со стояком, а при аварии протечек — двумя кранами, конечно).
В разделе HVAC (не знаю, нафиг я его так обозвал) у меня выводятся графики с датчиков WirenBoard за 5 часов и за сутки. Заодно в нижней части экрана выводятся статусы движения, дверей, окон и параметры климата на улице и по стоякам квартиры (ГВС, Отопление).
Интерфейс щита на ОВЕН СПК: Сбор информации с датчиков климата
Ну а в разделе нагрузок выводятся токи по каждому потребителю и по группам нагрузок со статистикой Минимума и Максимума:
Интерфейс щита на ОВЕН СПК: Статус потребления токов нагрузками
8.2. Санузел.
В Санузле была ПОЛНАЯ ДИЧЬ! Когда я делал автоматику своего санузла в 2017 году (пост про неё тут), то я брякнул про то, что было бы круто поставить краны с моторами на все системы санузла: на промывку фильтров, на дренаж, на слив и так далее. Так вот тут это и было сделано (с раздутым щитом санузла).
А дополнительно было заложено дохера разных алгоритмов (подробно я расскажу про них в настройках ПЛК). Система может сама перекрывать воду, если её параметры вышли из нормы (например, упало давление или темпертура), может делать автоматическую промывку фильтров воды, если давление на входе и выходе у них отличается на заданное значение, может проливать сифон в душевой кабине, если в квартире долго никого нет, чтобы там не высыхала вода, и он не заванивался.
Все эти параметры выведены на очень перегруженную и сложную страницу санузла (на Сводке есть краткие сведения):
Интерфейс щита на ОВЕН СПК: Управление водоснабжением (команды)
Здесь есть возможность видеть все сигналы и статус работы всех алгоритмов и систем, и так же управлять ими в ручном режиме.
Конечно же, раз у нас есть датчики, то будут и графики всех параметров (температуры, давления):
Интерфейс щита на ОВЕН СПК: Графики параметров водоснабжения
А в качестве бонуса (мне захотелось попробовать, так как я до этого ни разу не делал), я нарисовал заказчику ещё и мнемосхему его санузла, на которой показывается положение всех кранов управления (стрелка — открыт в заданном направлении, крестик — закрыт):
Интерфейс щита на ОВЕН СПК: Схема водоснабжения санузла
Знаете, что сказал заказчик с его наглостью? «Ну, норм. Перерисуй её так, чтобы холодная вода была снизу». Мне стало обидно и неприятно от этого: это не было заложено в проекте, а он ещё и хочухи опять генерирует.
8.3. Настройки проекта.
Ну а теперь поехали смотреть настройки проекта на ПЛК. По ним можно понять то, какие идеи и алгоритмы сюда вложены.
В Основных настройках у меня есть раздел управления экраном (яркость, время гашения, зажигать экран при авариях или тревогах). Также есть настройки того, что делать по отключению питания на отпуск и мастер-кнопке: гасить свет, управлять водой, шторами.
Интерфейс щита на ОВЕН СПК: Основные настройки
Ещё тут есть раздел, связанный с тем, что ПЛК делает при авариях или тревогах. Можно указать выдержки перед тем, как ПЛК зафиксирует аварии протечек Отопления или Воды и то, надо ли фиксировать эти аварии до сброса кнопкой (если нет, то авария снимается сразу, когда датчик перестанет о ней сообщать).
Можно указать то, события какого типа слать по СМСкам и надо ли пищать динамиком ПЛК при их наступлении. Это задумано для удобства: если всё работает штатно, то экран ПЛК через некоторое время темнеет, а потом гаснет (в этот момент ПЛК может перейти на главный экран). Если же случится сбой или авария (отключат горячую воду, сломается какой-то датчик), то ПЛК включит экран, пропищит пищалкой (при Warning один раз, при Error три раза) и, если надо, отправит СМСку с текстом аварии.
Теперь расскажу про логику работы тревог по дверям. Изначально мы хотели отслеживать состояние двери этажного щита (я тоже себе такое хочу сделать, так как последний случай, когда мне электрик заменил счётчик, переколбасив щит, меня выбесил). Если дверь открывали — то ПЛК это отслеживает и может фиксировать это состояние до его сброса вручную. Ну, типа, приходишь домой — а у тебя есть инфа о том, что дверь щита кто-то открывал.
Интерфейс щита на ОВЕН СПК: Настройки сигнализации дверей
А самая дичь (и это очередная хочуха заказчика) была с входной дверью. Под самый конец сборки щита он попросил добавить три дачика-геркона на три замка его входной двери в квартиру и сделать логику тревог по ним. Идея тоже тоже нравится, и, может быть, я её и себе сделаю.
Суть её в том, чтобы выполнять не только охранные функции (если дверь не заперта и в квартире есть движение по датчика WirenBoard), а ещё и напоминать самому себе про то, что дверь надо запереть. А то иногда ж бывает: по пути в квартиру тебя перехватили соседи, ты с ними поболтал, дверь захлопнул, а замки закрыть забыл. Вот в этом случае ПЛК поднимает тревогу через заданное время.
Теперь идём к Погоде. Вот в настоящих проектах котельных и всяких там ЦТП (я ходил на экскурсию туда) есть такой термин — погодозависимая автоматика. Там он обозначает то, что тепло (например, на отопление), выдаваемое системой, зависит от температуры за окном.
Наша же заморочка была про то самое отопление в квартире: как определить, дали его или нет. И вот ради этой хочухи (а в других проектах я делал проще: если температура стояка больше заданной, то отопление дали) у нас тут и появились вычисления средней температры за неделю, отслеживание температуры стояков, календарных месяцев, когда оно должно работать…
Интерфейс щита на ОВЕН СПК: Настройки Отопления и Освещённости
Опять же, в итоге мне эта наработка нравится и я её утащу себе в квартирную автоматику. А то у меня иногда отопление выключают раньше, чем по месяцам в ПЛК прописано.
Заодно здесь же есть и настройка уровня освещённости на улице, по которому ПЛК определяет режим Дня или Ночи. Этот режим используется для гашения подсветок кнопок в комнатах и для выключения некоторых функций.
Теперь идём по настройкам и алгоритмам работы разных механизмов. Тут много всего собрано в кучу, так как места в меню не хватало =)
Интерфейс щита на ОВЕН СПК: Настройки Штор, Освещения, Датчиков HVAC
Первым делом здесь задаются настройки приводов кранов и штор: через какое время снимается питание на их моторы, чтобы они не находились постоянно под напряжением, даже когда дойдут до крайних положений.
Дальше есть настройки для диммеров: они позволяют задать минимальную яркость (это важно для некоторых ламп, которые не работают, если яркость ниже определённой) и скорость изменения яркости по длинному нажатию кнопки.
Тут же примостился и алгоритм обогрева зеркала в ванной, включает его вместе с верхним светом или при повышенной влажности.
Ещё есть настройка датчиков климата WirenBoard: порог и время движения по датчику и то, с каким периодом обновлять базовую статистику Min-Max.
А напоследок тут настраиваются кварцы. Их алгоритм работы сделан так: у них есть задержка старта и пауза при работе по некоторым условиям (Окно, Дверь, Движение). Эти задержку и паузу можно включить, а можно и отключить. Если они выключены — то кварц не работает, пока не наступят указанные условия. А если включены — то кварц ждёт наступления этих условий и включается или приостанавливает работу по ним.
Работает это примерно так, если задержка и пауза включены. Ткнули на кнопку кварца. Она замигала подсветкой, показывая что ждёт наступления условий запуска. Мы ушли из комнаты, и закрыли дверь. Как только датчик движения перестанет его регистрировать, то наступят условия для работы кварца, и он включится.
Дальше он доработает заданное время и выключится. Но если в момент его работы снова зайти в комнату (то есть, нарушатся какие-то условия работы, указанные галочками в разделе Паузы), то кварц выключится и встанет на паузу: он будет ждать того, когда снова наступят условия для его работы, доработает и выключится.
Длинное нажатие на кнопку кварца немедленно его выключает. Ну и, если режим паузы выключен, то кварц тоже немедленно выключится, когда условия для его работы исчезнут. Вот так!
Теперь пройдёмся по настройкам вентиляторов. Обычные вентиляторы у меня имеют стандартные фишки, которые тут и применены: работа по кнопке, работа по длительности горения света (если свет горел больше хх минут, включить на хх минут после гашения света) и работа по влажности (если она выше заданной — включать).
Интерфейс щита на ОВЕН СПК: Настройки Вентиляторов и Вытяжки кухни
А вот кухонная вытяжка имеет алгоритм, который настроен на три скорости. Сделано это из-за того, что опыты показали: её мотор стартует только от примерно 60% мощности на диммере, который им управляет. Поэтому для этих скоростей я сделал фиксированные величины выбора процентов мощности диммера.
Вытяжка управляется кнопкой с подсветкой. Подсветка мигает, показывая текущую скорость вытяжки: первую, вторую или третью (между сериями миганий есть пауза). Длинное нажатие на кнопку отключает вытяжку. Запускается вытяжка всегда с максимальной скорости, чтобы сдвинуть её двигатель с места, а потом через 5 секунд переходит на нужную скорость.
Дополнительно (это жёстко задано в программе) вытяжка работает только если открыты хоть какие-то окна и дверь в кухню: она у заказчика настолько мощная, что создаёт разряжение в квартире, если не открыть окна.
В Климате настроек мало =) Они относятся к датчикам WirenBoard, светодиоды которых включаются в зависимости от концентрации CO2 в воздухе. При малой концентрации ничего не мигает. При средней мигает зелёный светодиод, при высокой — красный. Мигание можно отключить на ночной период.
Интерфейс щита на ОВЕН СПК: Настройки Климата (уровень CO2)
Ну и финалочка — санузел! Тут накручено больше всего!
Интерфейс щита на ОВЕН СПК: Настройки Автоматики Санузла
Я даже использую список для всех функций:
- Подсчёт импульсов воды со счётчиков и перевод его в литры и их показания (можно ввести текущие показания, и они будут увеличиваться так же, как и на счётчике);
- Отслеживание давления в лейке гигиенического душа. Менталитет заказчика в том, чтобы заставлять жильцов сбрасывать его после того, как душем попользовались. Для этого в цепи лейки стоит реле давления (оно упомянуто в посте про датчики и реле давления). Если давление есть, то мы сначала поднимаем тревогу, а если его и потом не сбросили — закрываем воду (таково пожелание заказчика);
- Управление проливом сифона душевой кабины, чтобы он не засыхал, если в квартире долго нет людей или этой кабиной никто не пользуется: если в ванной нет движения больше N дней, то на X секунд будет открываться холодная вода в квартире и пролив сифона;
- Контроль температуры ГВС и переход на бойлер. Тут есть несколько уставок температур: Норма, Низкая, Отключение и выдержки для них. Если температура понизилась, то можно перекрыть ввод горячей воды в квартиру. А если дошла до точки Отключения — то перейти на водонагреватель (он проточный и включается легко). А потом вернуть всё как было, когда горячую воду подали;
- Контроль давлений ХВС и ГВС. Если они упали ниже критических, то вода по ним тоже закрывается. Это классная идея, и мне нравится. Сделаю так у себя потом;
- Контроль разницы давлений до и после фильтров тонкой очистки (которые 100 микрон). Если разница давлений превышает заданную, то включается дренаж с фильтров.
8.5. Диагностика и статусы системы.
Теперь посмотрим на экраны диагностики. Про диагностику и отладку у меня есть хороший пост, на который я уже несколько раз ссылался. Суть его в том, что я в каждом проекте ПЛК делаю диагностические экраны, которые показывают состояние всего оборудования в щите и его статус работы.
Вот экран состояния щита:
Интерфейс щита на ОВЕН СПК: Общая системная информация
Тут видно состояние модулей IO в щите и их среднее время опроса. А заодно можно оперативно поуправлять подсистемами щита.
Точно такие же экраны есть и про все устройства. Вот статусы датчиков Modbus по квартире (видно время опроса в 3 секунды — то, чего мы добивались, чтобы быстрее отслеживать движение):
Интерфейс щита на ОВЕН СПК: Информация о внутренних модулях IO
А вот состояние датчиков щита санузла (в том числе и аналоговых каналов измерений). Такие статусы помогают проверить правильность подключения датчиков: сразу видно, всё ли хорошо, или нет.
Интерфейс щита на ОВЕН СПК: Информация о внешних датчиках IO
Ну и все мои текущие проекты не обходятся без журнала событий (они в ПЛК называются «Тревоги»). Это журнал, в который записываются все (заданные мной в ПЛК) события с датой их начала, окончания и подробной информацией.
Интерфейс щита на ОВЕН СПК: Список текущих статусов и аварий
Для примера на скриншоте показан ПЛК в режиме имитации сигналов с датчиков (при отладке). Часть датчиков здесь дают нормальные показания, часть выдают предупреждения, а часть — аварийные ситуации. Если подключиться к ПЛК, то всю эту таблицу можно выгрузить в CSV и что-то с ней сделать для анализа (я, например, сохраню в XLS и пошлю в ЖилИнспекцию, так как даже после КапРемонта у нас всё равно низкая температура горячей воды).
Ну а раз у нас есть кварцы — то почему бы не быть статистике? Мне же нравится смотреть, где что сколько проработало!
Сделал:
Интерфейс щита на ОВЕН СПК: Статистика работы кварцевых ламп
Уххх! Сейчас я понимаю, что тут только одна такая программа тянет по текущим ценам на 500 тыр! Сюда вложено ДОФИГА идей и мыслей. Конечно же, часть этих наработок, выстраданных, будут теперь использованы и в других проектах.
9. Завершение и выводы.
Ну? Что тут сказать?.. Давайте подводить итоги. Лирики будет — залейся!
Этот заказ и проект убил меня. За эти три года я потерял интерес к жизни, к творчеству, у меня похерились все идеи и бизнес. Последний раз такое крупнейшее выгорание было тогда, когда я поступил в институт учиться и на 4 года умер и выпал из жизни. Просыпание после этого было очень яркое и сильное: у меня сразу пошла работа, деньги, музыкальная группа. Но начинать пришлось с чистого листа.
Вот здесь у меня такое же ощущение: за эти три года мир изменился напрочь, у меня устарело всё оборудование и техника, пришли в негодность технологии, да ещё и ABB ушло из-за санкций. Рухнули мои планы по развитию бизнеса (нанять людей для подработок), по желанию сделать студию и сценосвет, построить дом.
Мои долги до сих пор при мне. И их дохера. Я не знаю, как я их буду отдавать, так как, если бы было ABB, я был бы уверен что могу брать и реально сделать крупные проекты. Сейчас творится неразбериха, но мои правила не изменились: если вы можете достать ABB — делаем крупные проекты без проблем!
Причины этого всего были описаны в посте: я нарвался на несколько косяков, а потом из-за старой модели бизнеса, почему-то решил взять вину за них на себя в условиях нехватки денег. А когда денег от заказчика получил — так сильнейшее чувство ответственности вогнало меня в состояние дичайшего стресса и спешки, отключив мозг. Это привело к тому, что я позволил заказчику сесть мне на шею с его хотелками. В результате простой проект разросся в гиганта, а стресс не давал разумно думать: надо было выбирать между остановкой всех дел и доделкой этого проекта или между другими заказами.
Я охренеть как сильно задержал очередь всех заказов и щитов — на два года! Я благодарен всем заказчикам, которые ждали и понимали ситуацию. Этот пост написан в том числе и для них — чтобы они знали то, как всё было и развивалось.
Сейчас мне придётся начинать с чистого листа. И первым делом исправлять психику: снова учиться совмещать жизнь и работу в единое целое, снова учиться не нервничать и не суетиться, снова учиться понимать то, что работа — это не вымученный стресс и дамоклов меч, а просто жизнь и чил. И находить место для творческих проектов.
Когда я закончил этот щит и сдал его (мы подписали длинный акт, в котором я указал все проблемы и косяки и написал то, что мы с заказчиком не имеем друг к другу претензий), у меня не было дикой радости. Было ощущение ПУСТОТЫ. СДЕЛАЛ. ДА. НАКОНЕЦ.
Держите видео с описанием этого щита:
Но эпопея с этим проектом не кончилась так просто. Есть и вторая часть, где я поехал курировать подключение этого щита и ещё и подключать датчики и автоматику. Я решил, что заработаю на этом денег и что сделаю хорошие фотки для постов по тэгу «Датчики». Всё, что там случилось — читайте во второй части поста.
Проекту исполнилось 15 лет! Поддержать проект материально, проспонсировать проекты Автора или сделать ему подарок можно на этой странице: "Донаты и Спонсорство, Список Желаний".
Уже раза два прочитал. Уж больно эпично. Сложно для полного принятия и прочувствования с первого раза.
Стоимость владения — это да… Как и стоимость обслуживания.
Ситуация с РАЗУмДОм мне напомнило мою собственную. Только со светильниками Новый Свет (НЛЦО), который делаются в славном городе Рязани. Я написал про неё вот в этом комментарии.
CS Офигеть как тебя Вселенная приложила.
Но вот эта вещь — не брать на себя ответственность за не свою вину — супер ценная и сильно неочевидная.
Была ситуация, схожая эмоционально, начал впадать в отчаяние, но в какой-то момент внутренний голос меня спросил:
— А какого собственно хрена? Ты виноват?
— Нет
— Ну вот и нечего себя предавать.
И как то легче стало, и ситуация потихоньку не то чтобы сразу разрулилась, но уже не висела на мне одном.
(Комменты про NLCO уехали в тот пост)
VasT Да. Пиздец. И щас я постоянно в голове держу эти стоимости. И думаю, что и как стоит делать и как ремонтить.
Spo1ler Во-во! Новый урок от жизни пришёл. Что раз открыл ИП — нахуй, всё, действуй грамотнее.
Здорово, что ты там вовремя соориентировался в своей ситуации! Держи пять!
после чего задача преобразуется в ретро-тех-восстановительную работу с расценками как на НИОКР, открытой сметой «сколько проебусь столько и заплатите». Иначе нахер нахер, проходили знаем.
Задачи «чтобы работало то что есть» требуют бесконечного времени и выполнимы только с бесконечными затратами.
по немецкой методике лечится на стадии проекта так: там стоит свой собственный вычислитель, который решает задачу быстро ловко и сам, после чего «для сведения» передаёт: у меня тут вода, просим принять во внимание и зажечь лампачку на панели. С головным блоком у вычислителя нет ничего общего кроме бита в протоколе по которому прибегает «для сведения».
Аааааааблятьпиздецнахуй (упал с тумбочки)
Сначала требования, потом подбор техники, причем не какой есть а какой надо.
Иначе задача
Ну ок, открывает джиру, создаём проект «датчик ХХХ, доработка» и внутри нарезаем задач: закуп датчика, доставка, реверсинженеринг датчика, отработка работы на стенде, ожидаемые временные затраты, часовая ставка, итого…
цена проекта вне зависимости от того, получится или нет — 130 тыщ рублей, смета открытая, едем?
ожидаемые на эту подзадачу затраты 14 дней, часовая ставка известна.
Вот пару раз такое себе сказав, становишься, суко, злым…
Я бы попробовал сделать на плинтах.
Опять открывает джиру, создаём проект «разработка методики математического моделирования» и внутри нарезаем… ну ты понял уже? Затраты 40 дней, часовая ставка от НИОКР.
Че-го??? Этим занимается контроллер привода щторы/заслонки/крана. Нет?
создаём проект «создание контроллера привода ХХХ» 40 дней.
Серьёзно, коллега, это какой-то дикий залёт, требовать укрощать оборудование, вместо того чтобы предоставить подходящее.
Я, помнится работал с заслонками систем вентиляции с приводом Belimo. Нейтраль, фаза на открытие и фаза на закрытие. Подаёшь открывать. Едет. Как доезжает до упора — тормозит. Секунда две, три, слышно как снимается напряжение с двигателя и редуктор немного «вжукает» назад. А фаза на входе вот она, снимать не надо.
Если заслонка остановится на полпути, прижав какую нибудь вентлазную кошачку, есть концевики крайних положений, перекидной «full open» и «full closed».
Не, можно и снимать. Но часовая ставка уже как у главы РЖД будет, слыш?
а вот диммирование мотора это вообще крайне неудачная идея. Тут только ступенчатое повышение амплитуды напряжения помогает, а не ломание формы синуса.
мне думается, что ты вынес для пользователя то, что вообще выносить для пользователя нехрен, и что менять может только наладчик. Потому, что будет наша любимая классика, задача нижней уставки больше чем верхняя, после чего шатдаун по ошибке и вызов наладчика с программатором.
Как задача? А вот ушастый толстый кроль компьенской породы решит поднять весь диапазон. Как он будет делать? Верно, сначала подкрутит одну уставку, а потом вторую. И после того как он одну уставку уже изменит, и потянется ко второй — бац, отрицательная дельта, основной вычислитель очумело делит на ноль и уходит в дзен, а панель уже стучится в никуда. Догадываясь, что там у тебя за охуевший дебил, визгу будет до небес.
Шаман, тебе давно говорили что ты от скромности охуел? Минимум бы единичку приписал перед цифрой,а?
Как хомяк-истеричка по работе, рекомендую дойти до доктора, 3 года в режиме дистресса это знаешь ли можно не только неврастеником стать.
Генерал Дрозд Оооо! Бля!! То я тебя гонял про «пишЫ ТЗ, шли нахуй всех», теперь ты мне возвращаешь это обратно! Обожаю тебя!
1. Про датчики. Там было немного другое: WirenBoard поменял их для того, чтобы они были новой (и одинаковой) аппаратной ревизии. Чтобы накатить на них новую прошивку нормально.
Проблема была в WirenBoard: что их прошивка не позволяла читать регистры быстро. А потом она это поправили.
А если бы заказчика не устраивали показания с купленных хер где датчиков — то пусть сам слал бы в WirenBoard их. Или настраивал.
2. Про распределённую херовину. Мне не нравится, когда этот «вычислитель» неподконтролен. Бля, ну это как покупать ПРку за 30 тыщь и к ней покупать Нептун за 20 тыщь. Кой хер в этом смысл, если этот же Нептун на ПРке можно написать (и у меня уже есть готовые наработки)?
3. Про «накупил дохера кранов» согласен полностью. Хрень полная. И со мной НЕ посоветовался.
4. Про термостаты — тоже не должно быть моей проблемой. Что купили — то и поставил.
5. Про приводы кранов. Это ты куда-то перегнул, погоди. Какой нахер контроллер привода?
В приводе крана как раз и есть концевики, которые вырубят кран (или штору), когда она дойдёт до крайнего положения.
А фишка, когда ПЛК или ПРка снимает питание с этих приводов через некоторое время, у меня в работе ещё с 2017 года. Это не что-то новое, а давно используемое.
6. Про уставки. Я разницу давлений по модулю сделал.
7. Про скромность. Да, Bayk давал пизды в прошлом и этом годах. Говорит, надо брать дороже. А платить будут?
8. До Доктора не хочу. У меня ж свой спец есть! Помогает мне где может.
По немецкой философии аварийные системы должны быстро работать сами, даже без головы. То, что ты реализовал, один большой мозг в центре, это современная китайская философия построения систем, она тоже имеет право на жизь и имеет плюсы.
Там внутри коробочки, если делано руками, есть не просто питание моторчика, а ещё и управление этим питанием. Как у Belimo: подаёшь только фаза 1 или фаза 2, а снятие подача питания на мотор и контроль тока там внутри.
Если даже привод не доедет, но слишком затяжелится, то мотор остановится.
О том, что с приводом плохо, обычно узнаётся по отсутствию отклика концевика через время отрабатывания привода.
У нас ещё по такой схеме правильные шиберы на водоканале были сделаны.
Как говорится, да ну нахер (с)!
Надо вводить нормочас за доработки.
Например, 1тыр за 1ч.
В проект входи 10 нормочасов.
Все что выше — по тарифу.
И согласование хотелок — хотелка стоит 30нч.
Хочет заказчик, вперед.
И прям в договоре это прописать.
За типовые операции обьявить стоимость в нч.
Короче, как в автосервисе.
Kaban4ik У меня прописано чуток по другому: что каждая доработка проекта стоит хх тыр (5 или 10 тыр обычно) без учёта материалов.
Прям вот каждая: добавил линию кабеля (с автоматом, клеммой) — 10 тыр. Добавил реле — 10 тыр.
Херня была в том, что я тут этого не делал. Даже не писал что «Доработки сделаны, но бесплатно в счёт компенсации задержки по срокам».
Почитав исходное ТЗ, на стадии мотор-кранов на батареи становится понятно, что Заказчик не очень здоров психически и дел с ним лучше не иметь:((
shtazi Почему? Что тут такого?
У меня квартира, в которой городское отопление, и окна выходят на юг. Так вот я дико жалею, что когда делал ремонт в 2010 году, не подумал про автоматику (хах, но я про неё тогда вообще не знал ничего).
Сейчас я бы поставил бы хоть один кран с мотором, чтобы перекрывать батарею в осенние времена днём, когда лупасит солнце и жарко, и открывать вечером, когда ночью становится холодно.
Можно сказать, что я кусаю локти. Ведь всё, что было надо сделать — это перенести запорные краны поближе к стене, а не делать их рядом с батареей. Тогда я мог бы поставить кран, датчик потока воды и что угодно…
Я не вижу ничего плохого в этой идее. Вот в идее «управлять отоплением в зависимости от температуры комнаты, если уличная среднесуточная упала ниже заданного предела» — вижу, так как это слишком перенакручено.
А вот ОЧЕНЬ бы хотел иметь возможность закрывать все батареи при жаре.
Шаман, ну ведь есть же термоголовки для этого, в том числе управляемые автоматикой. А вот это управление, если упало ниже среднесуточном, в квартире это вообще не от тебя зависит, тэц меняет температурный график на более высокую. А термоголовка как стояла на 22 градуса, так и будет тебе давать 22 градуса.
О! Точно! Но я задам тебе вопросы:
* А они полностью перекрывать могут? Прям вот закрыть и держать закрытой даже, если электропитание вырубится?
* А если надо защититься от протечек в батарее — то надо ж, как и кранов, две ставить?
Я про кран думаю вот про что: что его можно закрыть, снять с него напряжение, и он будет закрыт. А головка-то… Можно взять её нормально закрытой. Но так тогда без щита вообще ничего не включишь.
Вот тут я согласен с тобой: и управлять в этом плане отоплением — мудизм.
Шаман, ставишь термоголовку твердотельную на подачу, и шарик/балансировочный клапан на обратке , по проекту смотреть надо как было, термоголовку можно перекрыть колпачком, клапан-ключом шестигранником, если уж очень надо (например демонтировать радиатор. Зачем???). В щит не надо вообще ничего подключать, это все работает самостоятельно. А протечки в радиаторах это из области паранойи уже. Сколько живу, ни разу такого не видел нигде.
Понимаешь, качественное регулирование (закрыл/открыл на радиаторах не применяется), только количественное (изменение расхода через отопительный прибор).
Так, я осилил весь пост. Мое имхо, я бы его послал нахуй, в декабре 2020, как только почувствовал что впадаю в тильт. Пусть с убытками для себя, в кредиты бы залез, но это был бы рубикон. Или на забирай силовой щит с неустойкой и Вали на все четыре, или тут расчёт, дальше все стадиями и за другие деньги. А то он лихо так тебя заманипулировал в обязательства лютые и прекрасно на чужом хую в рай проехал.
Был у меня один такой, попросил проект ОПС с возможностью управления по смс(снял.поставил, получил тревогу). В итоге, насочинял туда херни на 8 реле времени. Я ему проект конечно сделал за обговорённую сумму, а вот с реализацией не вышло, времени у меня к тому времени совсем не было свободного вообще. Но судя по тому, что его монтажник, которого он нашёл (после выливания кучи говна мне на голову по телефону), позвонил один раз про уставка реле времени спросить, все я ему спроектировал как надо.
К сожалению опыт по отслеживанию манипуляторов и шизофреничных фантазеров, как и половое бессилие, приходит с годами!
shtazi Вот за то, что ты пост досчитал — ставлю плюс. А за то, что насрал комментов подряд — минус =)
1. Я не понял. Так ты имеешь ввиду просто парафиновые термоголовки, что ли, которые будет работать автономно?
Так мне это не надо. Мне надо как раз сделать так, чтобы НЕ лазить к батарее, но иметь возможность её вырубить.
Привожу пример. Вот я барабаню с 10 до 12ти. Какой-нибудь ноябрь. Включили отопление, и ночами холодно. А днём у меня на южной стороне светит солнце в окна, и жара такая, что прям в трусах можно ходить.
Вот на этот период мне надо отключить отопление. Перекрыть кран. Один. Так, чтобы в мою батарею вода из центрального отопления не текла (она потечёт по байпасу, который у меня на батарее есть).
А к вечеру мне надо отопление включить назад. На ночь.
Ты предлагаешь вручную ходить и крутить термоголовку? Так я это и так делаю (кручу кран), и мне это неудобно.
Я поэтому тебя и расспрашивал про управляемые термоголовки (нормально закрытые), которые без подачи напряжения не будут открываться. Но кран с мотором тут, ИМХО, лучше: его можно оставить открытым или закрытым без подачи напряжения.
2. СПАСИБО тебе за посыл! Искреннее, но не сердобольное!
Бля, это было бы РЕШЕНИЕМ, потому что я мог бы заработать денег с другого щита на эту неустойку, и выплатить её. И реально расстаться с проектом на этой стадии.
За комменты сорян, давно не заходил, одичал-с, плюс с телефона сижу.
1. Ну да ее и имел ввиду, настроил температуру один раз и живешь себе спокойно. Но если прям НАДО, то конечно есть и электрические сервоприводы: и нормально открытые и нормально закрытые, и на 24 и на 220В. Вот счас специально посмотрел такие у Valtec, знаю что такие делает Овентроп, и скорее всего и FAR. И их тоже можно оставить под током/без тока. Просто я посмотрел фото из второй части, ну по мне кран от Нептуна на радиаторе, это уебище, все-таки это квартира, эстетика должна быть.
2. Пожалуйста, жаль поздно конечно. Но с другой стороны, судя по масштабности описываемого пиздеца, это похоже на проработку кармического долга, не меньше, так что все что не делается, все к лучшему.
1. О! Я ещё забыл досказать. Во всех этих случаях отопление там от ЦТП, и вроде как в этом случае балансировочный клапан даже и ставить нельзя. И термоголовки тоже.
2. Ну, да. Я тоже думал, что это прям какая-то квинтэссенция кармы с хуёвыми заказами.
CS
Прочитал обе части, интересно, познавательно над некоторыми моментами посмеялся от души.
1. Как и выше писали, краны Нептун на батареи это писец, есть термоголовки с управлением по 230в или 24в, как НО так и НЗ, что было бы в разы дешевле, балансировочные краны тут не нужны. Они используются если на одной ветке несколько отопительных приборов.
2. Датчики протечки лучше ставить под места подключения, так как сами батареи не текут, тем более новые, текут только места присоединения. Самое опасное это если в доме старые металлические стояки со времен Брежнева вот тут и может отгнить труба.
3. У меня вопрос, а зачем затащили щит в стояк? Это одно из опасных мест в доме, стояки текут не плохо, и как раз больше шансов, что затопит щит в нише чем потекут батареи.
4. Фишка про подключение датчиков температуры ТП с помощью ТМЛ классная фишка, возьму на заметку.
5. Вместо клемм ДегСон можно использовать ваго проходные, быстрее будет, не надо тянуть винты.
P.S. Да кстати проворот кранов раз в в месяц или в другой промежуток реализован? Ибо краны могут закиснуть, так как в отопление вода писец, и простояв в открытом состоянии год, полтора могут просто не закрыться в нужный момент.
LasmyS Спасибо тем, кто осилил, ахаха! В последнее время мои посты длиннее и длиннее =)
1. Ну вот не хочу я термоголовки ставить. Не хочу! Мне же никто из вас так до конца и не ответил на ряд вопросов:
а) Как полностью перекруть батарею. Ставить две термоголовки, что ли?
б) Кран с мотором потребляет электричество только на момент переключения (как полевой транзистор, ахаха).
Термоголовку всегда надо будет держать под напряжением. Если щит сдохнет, то без напряжения её не открыть. Это рисково. А у крана есть ручное управление.
2. Про датчик протечки принимается. Я его на фотке подключил и просто положил на пол.
Да, там как раз старые стояки. Без капремонта.
3. Ты имеешь ввиду щит санузла? У меня есть аргументы и за ии против:
а) Сантехшкаф у него расположен Г-образно. Щит стоит на другой половине, там, где нет стояков.
б) Это Mistral IP65, где все вводы сделаны через сальники (кроме плоского ВВГ от горе-мастера, бугага).
Конкретно у меня ситуация хуже: у меня ща ПРка и Модули IO торчат в моём санузле. Корпус щита НЕ влагозащищённый, заменить не на что (новые корпуса от ДКС шире и не влазят), вынести щит некуда, и мне крайне стрёмно. Правда у нас в этом году прошёл КапРемонт стояков =)
4. Забирай! Она крутая =)
5. Неее! Ты не до конца понял фишку. DegSon же разъёмные. А нам ВАЖНО, чтобы провода от измерительного модуля (считай, что это прям вот входы АЦП) не закоротило, и они не коснулись других проводов или металла.
И ещё датчик температуры (или другой) имеет строгую полярность (порядок подключения проводов — там трёхпроводная схема, три провода + экран). Её нарушать нельзя.
В этом плане разъём рулит: отсоединил — подсоединил — и всё подключилось так же.
6. Про проворот не помню. Вроде реализован, а вроде и нет! Щас уже пофиг
CS
1. А для чего перекрывать полностью батарею? Если во избежание протечки, то это бесполезно. Если только не перекрыть чугунивый радиатор который старше тебя лет так на 30, да и то вряд ли. Батареи не текут, особенно новые, текут только стыки и подключение батареи или кранов. От этого тебя не защитят краны, они предназначены для другого. Так то для этого, но не в системе отопления. А что бы перекрыть ХВС или ГВС.
Если нужно управлять температурой в помещении, то нет не чего лучше термоголовки. Ставим кран + термоголовку на подачу и все, если вышла из строя то спокойно регулируется колпачком, который можно поставить на время вместо термоголовки, хоть что бы полностью перекрыть, хоть отрегулировать температуру в помещении.
LasmyS Так а чем ХВС и ГВС от отопления отличаются, кроме как тем, что в отоплении идёт сетевая вода с присадками против коррозии?
Я не понимаю, как работают термоголовки. Мне кажется, что они могут не перекрыть трубу полностью или внезапно открыться. Кран так себя не поведёт даже если будет полностью обесточен.
Это просто жесть! После такого проекта надо хорошо отдохнуть, хотя бы недельку никакой работой не заниматься совсем.
1. Современные батареи отлично текут. Если чел экономит на всём, то и на батареях он наверно сэкономил. Нормальные батареи со стальным коллектором, на который уже наварен алюминий стоят дешевле простых алюминиевых с кранами для защиты. У них может течь подключение к трубе — там резинка дубеет и может пропускать воду, это обычно видно за ранее. Ну и не плохо соблюдать момент затяжки.
2. Батареи, если их нужно отключить, должны устанавливаться с байпасом либо через коллектор.
3. Про термоголовку и регулировочный вентиль тебе правильно написали, вентилем настраивается расход и в теории, если батарея подобрана правильно, термоголовка работает по минимуму.
4. Управляемые термоголовки бывают двух видов — 2-позиционные открыто/закрыто и с отдельным каналом управления, принимающим от 0 до 10В, если правильно помню. Разница по цене у вальтека между ними 10к. 7 лет назад я хотел заморочиться и поставить себе такие, но руки так и не дошли, а недавно смотрел, ассортимент у них серьезно сократился. Прошлой зимой я наконец-то поставил себе 2-позиционные и тупо к двухканальный релюхе аквара их подключил. Поставил их вместо умной термоголовки акара — не зашла она мне, не помню почему, слишком умная, но выглядит красиво и функционально. Еще нюанс: время полного закрытия у 2-позиционных головок может доходить до нескольких минут.
5. Считается, что сервоприводы на батареях должны быть нормально открытыми, чтобы без электричества батареи зимой работали. Да, может не комфортно, но замерзнуть не получится.
Alex K. 1. Во второй части поста есть фотка батарей. Вроде как Rifar (у меня это название всегда ассоциировалось с каими-то хачами с рынка, и поэтому было всратым).
2. Да. У него байпас есть. Коллекторов не будет — это старый дом, где стояки на каждую комнату идут из подвала.
3. ААААА!!! НУ КАКОЙ РАСХОД, если система отопления ДРУГАЯ? Я же вам всем пишу, что что у этого чела, что у меня отопление 70ых с доработкой 2010ых: когда стояки идут на комнату, а тепло регулируется на ЦТП по уличной температуре.
В такой системе термоголовки и балансировочные клапаны НЕ подходят.
4. Да делал я все эти головки. Заказчикам. И нормально закрытые, и нормально открытые. Будут ещё посты, где я их подключал. Как раз по 0..10V. Пока не бахнули санкции, я хотел купить одну Oventrop, разломать её и описать, так как там есть хитрые режимы, и 10V не равно 100% открытости, а переводит головку в режим настройки.
Однако на регулирование мы ставили головки, а на коллектор ввода отопления в квартиру (там новый дом, и коллекторная разводка) — краны. А не термоголовки.
Здесь это же решение и применяется:
* НЕ регулируем, так как система отопления НЕ поддерживает регулирование;
* Перекрываем кранами, если надо.
5. Так вы мне все насовываете инфу про эти термоголовки. А я говорю ещё раз о том, что если для того, чтобы батарея была закрытой, нужен работающий щит и программа в ПЛК — то решение ПЛОХОЕ.
Это как если бы на отключение на отпуск поставил нормально замкнутый контактор и на время отпуска подавали на катушку напряжение.
Бестолковщина!