Wiren Board 6: снова на Хабре с новой версией контроллера для автоматизации

    Всем привет!

    Сегодня мы расскажем про совершенно новую версию нашего контроллера для автоматизации, умного дома и всего такого. Ниже — подробный технический обзор устройства.




    Кратко о контроллерах Wiren Board
    Контроллер Wiren Board — устройство, которое работает как центральный контроллер в системе автоматизации или мониторинга.

    Например, в «умном здании» контроллер может управлять освещением и климатикой, снимать показания с датчиков климата и охранных датчиков. Для этого контроллер поддерживает разные внешние устройства, выполняет правила и сценарии, хранит и красиво отображает данные.

    Контроллер работает под управлением Linux, имеет множество встроенных проводных и беспроводных интерфейсов для связи с внешними устройствами и внешним миром.
    Контроллер модульный — сбоку пристыковываются модули ввода-вывода (реле, входы для сухих контактов), внутрь вставляются модули расширения — дополнительные порты RS-485, RS-232 и т. д.

    Естественно, всё это industrial-grade: корпус на DIN-рейку, большой диапазон входного питания, широкий температурный диапазон, надёжная память, защита всех портов и т. д.

    Зачем мы выпустили новую версию


    Времена нынче тяжелые: чтобы помигать светодиодом, без гигагерца тактовой частоты часто не обойтись. Если серьёзно, то производительности нашего предыдущего Wiren Board 5 с ARM9 хватало практически для всех задач, но только с нашим ПО, написанным на C++ и Go.

    Мы хотели дать пользователям больше гибкости — чтобы без проблем можно было использовать требовательные к памяти и процессору приложения.

    Главное изменение в Wiren Board 6 — новый процессор NXP i.MX 6ULL с одним ядром Cortex A7 на частоте 800 МГц и 512 Мбайт оперативной памяти DDR3 (в WB5 был Freescale i.MX28 454 МГц ARM9 и DDR2 128 Мбайт).

    Контроллер стал быстрее в несколько раз: кроме собственно увеличения тактовой частоты, играет роль и использование более производительной (в пересчёте на МГц) архитектуры ядра. В i.MX 6ULL есть аппаратный FPU — в некоторых приложениях, сохраняющих и обрабатывающих данные, это дало существенный прирост в производительности.

    Новый процессор позволил использовать свежие версии Node.js (архитектура предыдущего процессора не поддерживалась в движке V8), использовать Node-RED и устанавливать готовое ПО для Raspberry Pi без перекомпиляции.

    В целом, с точки зрения разработки и выбора ПО Wiren Board 6 перешёл из категории «встраиваемое железо» в категорию «обычный компьютер с Linux, но со множеством интерфейсов».

    Пара слов про то, почему не 8xCortex A53@2.2GHz мы выбрали процессор медленнее, чем в новых ТВ-приставках или в свежей Raspberry Pi. i.MX 6ULL — это современный (2017 год) процессор для индустриальных встраиваемых систем. Он имеет очень низкое энергопотребление — и поэтому почти не греется. Но при этом допустимая рабочая температура ядра составляет целых 105 °C. Для нас это важно, потому что Wiren Board обычно стоят в закрытых шкафах без всякого охлаждения. На холоде контроллеры тоже работают, минимальная температура всех компонентов — минус 40 °C.

    А ещё этот процессор имеет отличную поддержку в mainline ядре Linux, и производитель гарантирует его производство минимум до 2026 года.



    Другие изменения в контроллере


    У контроллеров Wiren Board 5 было несколько аппаратных ревизий, по которым можно проследить эволюцию устройства. Отличий последней ревизии от первой довольно много:

    • добавлен клеммник Vout — выход напряжения питания. Удобно для подключения периферийных устройств по RS-485 — можно взять линии данных и питания от единого устройства;
    • отладочная консоль выведена на интерфейс Micro-USB вместо UART;
    • добавлен второй порт Ethernet. Используется как резервный канал, для подключения к изолированным сетям и для подключения других контроллеров;
    • изменена схема питания. Использовали синхронный step down (выше КПД — меньше нагрев платы), диапазон входного питания до 40 вольт, избавились от электролитических конденсаторов (теперь только керамические) — это увеличивает срок службы;
    • добавлены джамперы для включения терминирующих резисторов на линиях RS-485/CAN;
    • убран интерфейс цифрового звука S/PDIF — не пользовался популярностью;
    • убран порт для ИК-приёмопередатчика — использовать оказалось не очень удобно, поэтому выпустили отдельное устройство WB-MIR с RS-485;
    • ограниченная поддержка 3G модема: его можно устанавливать вместо модуля Wi-Fi.

    В Wiren Board 6 добавились еще изменения:

    • добавили поддержку двух SIM-карт. Страна большая, качество связи не всегда на высоте, а теперь сразу есть резерв;
    • реализовали полноценную поддержку 3G модуля и даже NB-IoT (про это будет отдельная статья). 3G честно выдаёт 5 Мбит/с. SSH не тормозит, в целом более стабильное соединение, можно забирать любое количество параметров с удалённых объектов;
    • температурный датчик на плату контроллера. Недорого, а людям полезно посмотреть, в каких условиях работает контроллер. Ещё один датчик измеряет температуру ядра процессора, чтобы контроллер автоматически сбрасывал частоту при перегреве;
    • второй порт USB. Потому что можем.

    Внутренние изменения:

    1. Переделали схему питания (опять? сколько можно, Карл?). Теперь выглядит так:



      Плюсы такой схемы:

      — основное потребление в контроллере идет по линии 5В. КПД при большой нагрузке (много боковых модулей, внешние датчики и т.д.) получается выше;
      — если внутрь контроллера установить наш модуль резервного питания, то при отсутствии внешнего напряжения на клеммник Vout подается 11 вольт. Это позволяет работать нескольким подключенным по RS-485 устройствам;
      — выход можно программно включать и выключать, что полезно, чтобы удалённо перезагружать по питанию подключенную периферию разных производителей.
    2. Программно отключаемая растяжка линий RS-485. Слабая резисторная «растяжка» линий нужна, чтобы задавать на шине фиксированный логический уровень, когда ни одно устройство не передаёт данные. Отключать «растяжку» (failsafe bias по-умному) нужно, если к шине подключено несколько контроллеров, например, когда Wiren Board работает как Modbus slave.
    3. «Умные» ключи вместо транзисторов на клеммах A1-A4: с защитой от КЗ и перегрева, и ограничением тока.

    Модули расширения


    Модули ввода-вывода (это модули с дополнительными входами-выходами, подключающиеся к контроллеру сбоку) оставили такими же как раньше, а вот модули расширения решили переделать.



    Распиновка разъема расширения. Слева — как было, справа — как стало.

    В WB5 вывели сигналов с запасом — питание, UART, I2C, SPI. За три года придумали только один модуль использующий SPI — модуль SD карты, и для него не требуются внешние клеммники. А I2C достаточно программного на GPIO. Поэтому лишнее убрали, и освободилось место под третий слот для модулей расширения, не требующих внешних клеммников (это GPS, слот microSD, в перспективе разные модули с радио).



    Сами модули расширения сделали с ключом — выступающая часть платы вставляется в прорезь в плате контроллера. Это добавляет жесткости соединению — платки не болтаются в разъеме, и вставить неправильно невозможно.

    Криптопроцессор


    В Wiren Board 6 мы добавили криптопроцессор. Это специальный чип, который хранит в себе пользовательские приватные ключи шифрования и использует их, чтобы делать криптографическую цифровую подпись данных.

    Если просто, то это аналог смарт-карт или USB-свистков, которые выдают банки и госорганы для подтверждения личности пользователя.

    Зачем нужен криптопроцессор
    Криптопроцессор в контроллере используется для его аутентификации в системах мониторинга и управления верхнего уровня.

    Раньше для подключения контроллеров, допустим, к VPN-серверу нужно было использовать общий логин и пароль (небезопасно) или выдавать каждому контроллеру отдельные реквизиты (неудобно). Кроме сложностей с управлением реквизитами, оба решения потенциально небезопасны: и реквизиты, и файл сертификата при желании можно было скопировать с одного контроллера на другой и получить доступ к системе.

    С криптопроцессором всё сильно упрощается: на сервере нужно только прописать список серийных номеров (common name) разрешённых контроллеров. Сервер при этом проверяет криптографическую подпись сертификата контроллера, которую невозможно подделать и скопировать.

    Мы реализовали поддержку крипточипа в стандартной системной библиотеке OpenSSL, поэтому почти любое стандартное ПО, использующее SSL, TLS или HTTPS, сможет работать с защищёнными аппаратными ключами.

    Сейчас мы работаем с партнёрами — поставщиками систем верхнего уровня над тем, чтобы Wiren Board подключался к этим системам без паролей и предварительной настройки. Поддержка также запланирована для IoT-платформ ведущих вендоров: Amazon, Google и прочих.

    Софт


    В целом, обновления ПО Wiren Board выходят одновременно для всех поддерживаемых версий и ревизий контроллеров.

    Однако к выходу Wiren Board 6 мы приурочили несколько важных изменений в софте.

    Debian 9


    Новые контроллеры поставляются с последней стабильной версией Debian — Debian Stretch. Процесс перехода с Debian Wheezy оказался долгим и болезненным, в первую очередь, из-за использования systemd вместо sysvinit в новых Debian.

    Зато теперь наши пользователи получают современный дистрибутив с относительно свежими версиями стороннего ПО. Более того, дистрибутив и сам WB6 совместимы с пакетами для Raspbian.

    Новая система обновлений и восстановления прошивки


    Предыдущие версии контроллеров можно было обновлять через пакетный менеджер APT, или перезаписывать целиком всю прошивку через веб-интерфейс. Если неосторожные действия пользователя привели к неработоспособности системы, то полное восстановление заводской прошивки выполнялось через USB-порт с использованием компьютера или виртуалки с Linux и специальной программы mxsldr.

    В Wiren Board 6 мы реализовали ещё и обновление с помощью загрузчика. Для восстановления прошивки достаточно вставить в USB-порт контроллера флешку с файлом новой прошивки и нажать на кнопку обновления.

    Похожим образом можно сбросить все настройки контроллера на заводские.

    Call To Action


    Нужно больше технической информации? Здесь можно найти полные характеристики.

    Есть другие вопросы по устройству и его применениям? Ждём вас на нашем сайте https://wirenboard.com/ и в гостях в нашем офисе.

    Хотите попробовать новый контроллер в работе? Купить контроллер в розницу можно прямо у нас на сайте. Мы отправляем оборудование курьером через 1-2 дня после заказа.
    Wiren Board 154,89
    Компания
    Поделиться публикацией
    Комментарии 91
      0
      А что за крипточип? ATEC?
        0
        Это же КРИПТОчип, и название секретно! Но выбор не велик, одна из моделей ATECС.
          +2
          Очень круто! Здорово что вы развиваетесь, главное чтобы оставалась полноценная поддержка старых устройств. Ещё раз большое спасибо за классное устройство.

          Самая неприятная ситуация, в которой не хочется оказаться — это полный выход из строя контроллера в какой-нибудь праздничный день. Когда замены ждать несколько дней и непонятно как переносить настройки со сгоревшего устройства на новое. Хорошо если бы был какой-то простой способ миграции с одного wb на другой именно на такой случай.

          Наверно глупый вопрос, но всё же. В wb5 никак нельзя заменить процессорный модуль на что-то помощнее?
            0
            Сам по себе контроллер выходит из строя редко — статистика отказов пока 0,5-1%.
            Но шаловливые ручки частенько что-нибудь ломают в софте. К сожалению простого способа миграции пока нет.
            Но вообще, систему автоматизации надо проектировать так, что бы выход из строя контроллера не приводил к фатальным последствиям — был режим перехода на ручное управление, периферийные устройства могли работать автономно и т. д.
            В wb5 никак нельзя заменить процессорный модуль на что-то помощнее?

            Можно, wb5 с мощным процессором это и есть WB6. В начале пытались сделать хотя бы ограниченно совместимыми процессорные платы, но различий оказалось многовато и не стали заморачиваться.
            0
            Пока я собирался внедрять дома купленный Wiren Board 5, вы уже выпустили шестую версию. Но я рад, что есть развитие. И не бросайте блог. Знаете, очень страшно покупать контроллер не понимая перспектив. Если он сломается, куплю ли я его завтра? Хочется видеть пульс компании.
              0
              Мы будем поддерживать Wiren Board 5 как минимум до окончания производства процессоров Freescale i.MX28 (2020 год; некоторые версии до 2025 года). Возможно, в какой-то момент запустим трейд-ин для обмена на новый контроллер. А в целом мы никуда не пропадаем: делаем новости на сайте, отвечаем на форуме.
                0
                а с WB4 трейд ина не будет? 8)
                  0
                  напишите нам на почту, может, уже сейчас что-нибудь предложим)
              +1
              У меня от продукции Wiren скорее отрицательные впечатления. Веб-сервер регулярно непонятно от чего отваливается (слава богу он ужен нечасто), реле по MODBUS реагируют с задержкой до секунды.
              Просил помощи на форуме, пожали плечами, остался с проблемой один на один…
                0
                Нам жаль, что так случилось.
                Проблема с веб-интерфейсом действительно была, но, кажется, всегда решалась перезагрузкой страницы.
                По опросу Modbus реле — нашёл вашу тему на форуме, мы в ней дали советы, которые могли, а потом тема заглохла. В целом, чтобы найти решение, наверно требовалось больше усилий и от вас, и от нас. Вот у меня на столе лежит релейный модуль, опрашивается на 115200 бит/с и реагирует быстро — теперь нужно найти разницу в конфигурациях)
                  0
                  Я, кстати, тоже заметил, что время реакции реле модуля WB-MR14 на нажатие кнопки в веб-интерфейсе довольно большое и непостоянное. Но я не пытался пока разобраться почему это так и как от этого избавиться, так что обвинять никого ни в чем не буду.
                    0
                    Обвинять здесь можно только физику. Протокол Modbus RTU — это мастер-слейв протокол. Мастер (контроллер) опрашивает по-очереди все устройства, при этом частота опроса одного регистра определяется только скоростью шины (у нас настраивается), количеством опрашиваемых регистров (у нас настраивается) и скоростью ответа устройств (у нас они отвечают всегда мгновенно).
                    0
                    А насколько быстро в сравнении с родными i2c модулями, подключаемыми «паровозиком»? Сколько миллисекунд первое, сколько второе? И наверно от количества модулей тоже зависит время реакции?
                    В ваших i2c модулях есть пин int, подозреваю что это прерывание от устройств, т.е. реакция должна быть мгновенной. В modbus же придётся по кругу опрашивать каждое устройство, если устройств много (у меня пять i2c устройств, которые я подумываю подключить через rs485 адаптер), тогда время вообще будет неприемлемым.
                      0
                      В ваших i2c модулях есть пин int, подозреваю что это прерывание от устройств, т.е. реакция должна быть мгновенной.


                      Всё так

                      В modbus же придётся по кругу опрашивать каждое устройство, если устройств много (у меня пять i2c устройств, которые я подумываю подключить через rs485 адаптер), тогда время вообще будет неприемлемым.


                      Тут есть большая неопределённость с тем, что является приемлимым. Я знаю ровно одну задачу, где опроса дискретных входов с задержкой в полсекунды недостаточно: включать свет по выключателю. Для конкретно этой задачи есть варианты:
                      • Поднять скорость шины И опрашивать только регистры входов
                      • Не использовать Modbus вообще, использовать, допустим наши боковые модули входов. К контроллеру можно подключить напрямую максимально 4*16 = 64 таких дискретных каналов, это более чем достаточно для выключателей.
                      • Если это умный дом, то использовать для панелек какой-нибудь KNX, благо у Wiren Board есть с этим интеграция
                  +1
                  Скоро в игрушки с интеллектом АТТини будут винду пихать.
                  Питание от батареи Li Poli -> step up -> диод -> step down -> step down -> LDO.
                  Чес сложнее софт и железо тем неизбежнее и больше багов…
                    0
                    Что с сертификацией на применение на промышленных объектах? В качестве средств измерения? Поддержкой выходов 0..20, 4..20 мА, датчиков типа Pt100/1000 и термопар? Поддержкой промышленных языков программирования и возможностью работы в режиме RTOS?
                      0
                      Нет и не планируем.
                      Это другая сфера, другие подходы, все другое.
                      Есть декларации о соответствии ТР ТС 004/2011«О безопасности низковольтного оборудования» и ТР ТС 020/2011 «Электромагнитная совместимость».
                      Есть боковой модуль AI-DV-12 с токовыми входами 0..20, 4..20 мА.
                      Для датчиков типа Pt100/1000 и термопар разработали MAI-11. Но выпуск пока придержали — устройство сложное, куча режимов, еще отлаживать надо, а спрос непонятен, когда есть датчики 1-Wire.
                        0
                        Да, согласен. Совсем другая область применения и другие требования. Модуль входов, правда, только под заказ (судя по сайту). Жаль, что свернули MAI-11 — можно было бы в вентиляцию попробовать запихнуть. Что ж, полновесной конкуренции ОВЕНу не случилось, но всё равно радуют такие новости.
                          0
                          Мы не стремились конкурировать со всеми устройствами Овена, у нас своя ниша (при этом с некоторой их периферией мы дружим, а клиенты регулярно наши контроллеры с устройства Овена «спаривают»).
                          А вы обычно автоматизацией в каких областях занимаетесь?
                            +1
                            Пищевая отрасль, ИТП, холодоснабжение, вентиляция, химические производства (бытовая химия), общая автоматика по мелочам. Для большинства применений нужны сертификаты, а вот бюджетная вентиляция в первую очередь — почему бы и нет, как аналог Carel, поддержание уровня всякие. С ОВЕН столько проблем хлебнули, что больше ни-ни. У Logo слишком скромные возможности. В основном полновесные Siemens используем, иногда B&R, но для компактных решений это слишком дорогие варианты.
                              0
                              Расскажите, с чем столкнулись при работе с Овен?
                                0
                                О… я недавно составлял для них целое письмо по этому поводу, сейчас найду. Вот оно:
                                Обзор встреченных косяков
                                Продукция компании ОВЕН, представленная ПЛК-100 и ПЛК-150 показала себя с худшей из возможных сторон. Неудачная архитектура организации памяти контроллера приводит к фатальным проблемам при загрузке проектов в контроллер — ОЗУ используется в качестве загрузочной памяти и система возвращает ошибку #0 в 9 попытках подключения из 10. Возможностей контроллера катастрофически недостаточно для корректной работы с ПИД регуляторами — штатные библиотеки нерабостопособны в принципе. При добавлении более десятка переменных в обмен по ModBus время загрузки программы в контроллер возрастает экспоненциально, до неприемлимых десятков минут. Встроенный OPC сервер работает не стабильно и имеет свойство отваливаться до перезагрузки при потери связи. Штатные средства диагностики не содержат никакой информации об ошибках, тех поддержка так же не в состоянии связно и в адекватные сроки объяснить что значат те или иные коды ошибок. Такое впечатление, что разработчики встроенной ОС контроллера давно не работают в ОВЕН и не предоставили ОВЕНу никакой документации. Продолжая список недостатков, особо хочется отметить конструктивное убожество ПЛК данной серии, требующее разборки корпуса для обновления прошивки, а также сдохшую через несколько месяцев эксплуатации ПЗУ ПЛК-100 — при попытке создания загрузочной программы на 2/3 загрузки она прерывается с неопознаваемой ошибкой. Стабильность работы фирменного модема ОВЕН не способна обеспечить надежного предоставления заявленных услуг по рассылке смс оповещений, так как требуется регулярная перезагрузка модема путём сброса питания (что подтверждено техподдержкой), а так же предоставленные библиотеки для работы с ним не актуальны и крайне несовершенны — перестают работать в непредсказуемый момент и не предоставляют никакой диагностической информации по возникшей проблеме, в т.ч. негативно сказывается полное отсутствие документации в свободном доступе. Попытка добавления переменных из библиотек работы с смс в ОРС сервер приводит к полной неработоспособности встроенного ОРС.

                                Предложенные на замену ПЛК новой модели вызвали ещё больше нареканий, т.к. в них не завелись даже надёжные на старых моделях UDP подключения для обмена данными между контроллерами. Два контроллера общаются между собой стабильно, при подключении третьего — произвольно ложится и перестаёт отвечать один из трёх ПЛК. Количество ошибок при загрузке программы (неправильно завершённые сеансы, обрывы передачи данных, #0 без конца и края) полностью исключает возможность использования данного оборудования на ответственных применениях вне рамок тупого мониторинга небольшого количества переменных.

                                — Добавлю к этому, что тех поддержка предлагает влезть в плату управления с паяльником чтобы «поменять батарейку», что является прямым нарушением условий гарантийного обслуживания.
                                  0
                                  Да уж, серьезные предъявы… А я уже подумывал использовать их ПЛК все-таки для системы умного дома, в том числе и отопления… Рассуждал по принципу «ну у них такое количество инсталляций, должно же это работать».
                                  Может, у вас откровенный брак был?
                                  Вы получили ответ на ваше письмо? Было бы интересно услышать ответ (или ответ — замена ПЛК)?
                                    +1
                                    Нет, к сожалению, это был не брак. Как честно заявил один из представителей ОВЕНа на одной из выставок по поводу очередной новой линейки ПЛК (200 серия, кажется — на сайте пока нет, хотя бы выглядящих прилично, но внутри всё те же ужасные винты… да, схема подключению и конструкция винтовых клемм отдельная головная боль) — их контроллеры не предназначены для автоматизации, это системы диспетчеризации. И правда, если их модули подключить к скаде по ModBus — они идеально работают. Без контроллера. А контроллером можно… ну, скажем, уровень в баке поддерживать. Или в двух. Как нам ответила тех поддержка в процессе допытывания почему всё так плохо работает — программа на 3 ПИД регулятора «избыточна» для их ПЛК, но, увы, пруфы давать отказались и просто выдали на тесты обновлённые модели серии 110, с которыми стало ничуть не легче. Которые мы благополучно сдали обратно через месяц попыток запустить в офисе.

                                    Ответ на последнее письмо пока не получили и вряд ли он будет — нас попросили оставить положительный отзыв об опыте внедрения их оборудования в ответственном месте, а получили вместо «спасибо всё круто» такой список проблем… самое грустное, что техподдерка при всём желании не может их решить. Эти проблемы были заложены ещё на стадии проектирования железа.
                                      0
                                      Интересно канеш, но раз уж так, то необходимо пожалуй, больше деталей, заявления достаточно «сильные»)))
                                      Что значит избыточна программа для 3х ПИД — не хватает ресурсов? В контроллере можно проверить количество этих самых ресурсов, чтобы оценить?
                                      Обновленные модели также отказались работать с 3ПИД?
                                      Я к тому — что наверно не могут тысячи (а я думаю у них партии именно такие) устройств не работать?
                                        0
                                        Написал кучу текста, скользнула мышка и всё коту под хвост… Сейчас в блокнотике всё напишу, потом выложу.
                                          0
                                          Начнём по порядку.
                                          1) ПИД
                                          Фирменная библиотека PID_Regulators не имеет в своём составе адекватного аналогового регулятора, способного выдать выходной сигнал в диапазоне 0..100% для управления аналоговым выходом. При этом управляющий сигнал для аналогового выхода должен подаваться в формате 0..100, что прописано в документации к модулю. Поэтому были взяты библиотеки с сайта oscat.de и минимизированы для реализации требуемого функционала, в частности задействованы функции:
                                          FUNCTION CTRL_IN: REAL
                                          FUNCTION_BLOCK CTRL_OUT
                                          FUNCTION_BLOCK CTRL_PI
                                          FUNCTION_BLOCK CTRL_PID
                                          FUNCTION DEAD_ZONE: REAL
                                          FUNCTION_BLOCK FT_DERIV
                                          FUNCTION_BLOCK FT_PIDWL
                                          FUNCTION_BLOCK FT_PIWL
                                          FUNCTION T_PLC_US: DWORD
                                          Всё, что делает программа, это регулирует давление скоростью насосов, температуру на выходе из драйкулеров скоростью вентиляторов и температуру обратной воды из кондиционера трёхходовым клапаном. Ну и переключается на резервный насос по наработке и аварии. Совсем немного, не правда ли?

                                          2) Средства диагностики
                                          Для мониторинга состояния ПЛК ОВЕН в CoDeSyS 2.3 используется блок Statistic, содержащий следующую информацию:
                                          — время цикла — держится в районе 6-10 мс в нашем проекте;
                                          — time to backup power down
                                          — температура ПЛК
                                          — флаг питания
                                          — флаг перегрузки CPU
                                          — свободное время процессора на 1 цикл
                                          Так же в настройках можно принудительно задать минимальное время цикла, по рекомендации тех поддержки — не меньше минимального времени, измеренного в статистике. По моему личному опыту — не влияет ни на что.

                                          Как вы уже заметили, вся диагностика ПЛК крутится вокруг контроля времени цикла и нагрузки процесссора, упуская из виду другую важную деталь — свободное место в ОЗУ.

                                          3) Память
                                          После работы в Siemens у меня есть привычка все ценные переменные делать Retain, и при использовании контроллеров B&R, Omron, Carel проблемм с нехваткой памяти не возникало ни разу. В ОВЕН пришлось минимизировать число Retain переменных до минимума, а всем остальным задавать стартовые значения, чтобы после запуска система могла корректно работать. Вот результат компиляции программы одного из контроллеров на текущий момент:
                                          POE индексов 295(1%)
                                          Использовано данных: 3336 из 131072 байт(2,55%)
                                          Энергонезависимых данных: 1582 из 4096 байт (БАЙТ, КАРЛ!) (38,62%)
                                          Вроде бы тоже довольно скромные цифры и программа неплохо ужата.

                                          На данном этапе ситуация выглядит довольно радужно. Теперь давайте рассмотрим тонкости мониторинга ПЛК ОВЕН, прежде чем вернуться к #0, ставшей в этом проекте главным стопором пусконаладки. Про кривой-косой таймер в библиотеке я даже не вспоминаю, пришлось отсчёт времени на аварии делать через сложение и сравнение числа с уставкой.

                                          4) Мониторинг данных
                                          ПЛК серии 150/100 поддерживают 2 способа передачи данных на верхний уровень: ModBus TCP/RTU и встроенные OPC CoDeSyS (не рекомендуется техподдержкой). В случае добавления переменных в коммуникацию ModBus TCP (RTU уже занят на опрос модулей IO) мы встречаем первую проблему: при добавлении в коммуникацию больше 20 переменных время загрузки программы в контроллер возрастает экспоненциально. На 5ой минуте я плюнул и выкинул этот обмен данными из конфигурации (а ведь надо ещё в программе обеспечить перекладывание значений в эти переменные и чтение данных из них, что неоправданно раздувает код). OPC сервер же наоборот, крайне удобен и прост: Проект — Опции — Сивольная конфигурация — поставить 2 галочки и вы получаете полный доступ на чтение-запись ко всем переменных проекта с лёгким импортом в SCADA через менеджер OPC сервера, который настраивается в два клика и автоматически формирует список переменных. Разница возможностей, на мой взгляд, очевидна, но… при обрыве коммуникации (у нас был плохо обжат один разъём RJ45 долгое время) сервер падает и поднимается только после нажатия Reset на контроллере. После загрузки программы и перевода контролелра в Run он тоже может не подняться, в таком случае приходилось отключаться от контроллера и тоже жать Reset.
                                          Уже начинает напрягать такое… странное поведение.

                                          5) ОЗУ
                                          И вот мы переходим к самому интересному. Загрузили программу, перевели контроллер в Run, допустим даже пошли данные в ОРС. Вы хотите подключиться и поправить кусочек кода… #0. Отказано. Снова попытка… снова ошибка #0. Какого хрена, спросите вы и будете правы. Тех поддержка может сваливать проблему на кабель, на ваши кривые руки, на что угодно, но истина в другом: система использует общую ОЗУ для обработки программы и для обеспечения сервисных функций, в том числе подключения и онлайн мониторинга и… её не хватает. Свободных ресурсов недостаточно для этих задач при загруженной и запущенной программе, описанной выше. Соответственно частичное обновление кода также невозможно и цитирую переписку с саппортом: «Сбросьте контроллер на заводские настройки и загрузите программу заново». С этого места начинается АД — систему нельзя останавливать (перегреется охлаждаемое оборудование), а заказчик хочет новую фичу. Спасало только наличие двух резервируемых независимых контуров охлаждения и пока обновляли один — работал на костылях другой. Состанояние ОЗУ никак не мониторится через штатные средства диагностики. А процессору хорошо, он справляется — фигня вопрос.

                                          6) ПЛК 110
                                          Замученная в усмерть техподдержка выдала нам на тестирование ПЛК110, которые «больше, лучше, сильнее», поскольку официально признавать проблему нехватки памяти представители ОВЕН отказались. После пересборки проекта на новый контроллер к ошибке #0 добавились постоянные обрывы связи и сообщения «неправильно завершён сеанс». Про UDP я вроде уже говорил, что он вообще не поднялся (нам нужно было с двух контролллеров передавать данные в третий, отвечающий за рассылку смс оповещений и мониторинг приточно-вытяжной вентиляции здания).

                                          В общем, будем скоро переделывать на Carel и больше никогда с ОВЕН связывать не собираемся. Время в разгребание этих проблем и пытки тех поддержки улетело немеряно, а выхлопа ноль. Да, для каких-то примитивных задач задач возможностей этих недоконтроллеров может и хватит, но…
                                            0
                                            Спасибо, достаточно подробно! Может, когда нибудь Овеновцы услышат вас…
                                            Я правильно вас понял — на ПЛК 150 крутилось 3 ПИДа + кое какая дискретная логика, обмен с I\O, плюс коммуникиция наверх и это еле-еле(никак) крутилось?!? Мда.
                                            А я так хотел использовать Овен для домашней автоматизации, возложить на него «серьезные» задачи по отоплению и свету…
                                            ПРки использовали? Про них я не слышал, чтобы глючили. Про ПР200 в частности, интересно
                                              0
                                              Да, вы правильно поняли.
                                              ПР видел краем глаза, но мы не используем подобные вещи — их функционала катастрофически недостаточно для наших задач. Зато слышал, что не-ПЛК ОВЕНа, особенно старые, весьма надёжны.)
                              0
                              А расскажите пожалуйста, как именно думали применять модуль? Какие сигналы и сколько штук опрашивать? Может быть что-нибудь и подберём из своего оборудования или гарантированно поддерживаемого стороннего.
                                0
                                Абстрактно — бюджетные шкафы вентиляции и простейшей автоматики, где в качестве датчика температуры приточного воздуха и обратной воды обычно используются простейшие датчики сопротивления, а частотники для защиты от помех управляются по 4… 20 мА. А конкретно — один заказчик сейчас хочет 10 кнопок аварийного останова в ряд в отдельной коробочке под рукой у оператора и при этом не хочется тянуть многожильный кабель до шкафов управления черти где или ставить RS485 конвертер… Не устраивают его кнопочки F1… 10 на клавиатуре, близко они слишком.=_=
                          +1
                          Как производится менеджмент ключей шифрования?
                            0
                            Вопрос не очень понятен. Там куча нюансов конечно, но в целом всё просто:

                            1. Вы говорите модулю сгенерировать внутри себя ключевую пару
                            2. Приватный ключ модуль хранит у себя и не отдаёт наружу
                            3. Этим приватным ключом модуль может подписывать сообщения
                            4. Публичным ключом из пары можно проверять подписи

                            +1

                            Слежу за Wiren Board с самого начала — сразу понравилось, что в комбайне всё на борту "из коробки", а то в RPi приходится все обвязки самому колхозить. Если б карман был шире, накупил бы ваших плат и забыл про долбанное велосипедо-строительство. В общем, рад, что ваш девайс совершенствуется.

                              +2
                              При цене устройства 13к, делать стоимость модуля расширения на KNX — 20к… ну извините ребята, проще тогда через IP-KNX гейт от шнайдера/абб/зенио завести всё на небольшой сервачок с Qt KNX.
                                0
                                KNX — отдельная область, неключевая для нас. При этом ценообразование там особое. Мы в эту область идём как вариант, позволяющий объединить экономичные исполнительные Modbus устройства (диммеры, релейные модули) и красивые KNX-панели.
                                А какой бы вы рекомендовали IP-KNX гейт по разумной цене?
                                  0
                                  При разговоре о KNX оборудовании планка разумности резко уезжает в сторону высоких цен, но у Zennio есть KNX-IP Interface PLess, который у нас продается за 300евро, что практически равно вашему модулю. Но даже банально по себестоимости KNX-IP стоит весьма дороже модуля расширения. А уж если озаботиться достать оборудование по дешевле, что тогда совсем не в вашу пользу сравнение. (upd. в Риге можно за 220 взять)

                                  Я то сперва подумал, что вы за KNX много берете, чтобы отбить сертификацию, но походу её у вас нету…
                                    0
                                    Если озаботиться достать дешевле (и вы интегратор), то KNX-модуль можно достать у нас дешевле ваших предложений)
                                      0
                                      Понятно, что модуль стоит копейки. Я что у вас на сайте вижу, по тому и сужу. А KNX'ом я для себя интересуюсь.

                                  –1
                                  > гейт от шнайдера/абб/зенио

                                  Это голимая проприетарщина, гвоздями прибитая к вендору с узким специфичным набором (1-2 штуки) языков программирования, которые ещё нужно учить и качать специальные IDE (for Windows 10 only) для них.

                                  Здесь же полноценный полностью открытый Linux с 20 популярными языками пр-я, хотя бы один из которых точно знает каждый хабровчанин. Хотя бы по этой причине нужно брать WB.

                                  Да и по цене максимум — сопоставимо, но я уверен что и дешевле, чем большинство «сименсов» и прочих. А если учесть, что все плюшки у WB «искаропки», а сименсы, если начнёшь плюшками обвешивать, то многократно переплатишь. Да и приколотишь себя гвоздями к вендору.

                                  Нужен кому-то дома в роли автоматики дорогой закрытый вендорсос? Мне, например — нет.
                                    0
                                    KNX — известный протокол, но вообще это скорее экосистема, которая гарантирует качество применяемых изделий(а именно — сегмент пром. автоматики). На мой взгляд системы автоматизации должны быть в первую очередь надежными, а уже потом — дешевыми, опенсорсными и т.д. Не призываю вас ранжировать требования так же, как и я :)

                                    PS. KNX подразумевает возможность программирования каждого исполнительного или сенсорного блока, поэтому «центральный блок», который предлагает WB, в принципе не является необходимым. Отсюда и надежность — выгорание любого из блоков системы не приводит к отказу системы в целом.
                                    +1
                                    Интеграторы, которые ставят людям KNX, привыкли иметь 30%+ от цены оборудования себе. Наши контроллеры многие из них не берут, потому что они стоят слишком дёшево. Огромная розница в 20к за модуль — наша попытка решить проблему слишком маленькой цены.

                                    Интеграторская цена там уже сильно более адекватная, а в опте (25+ устройств) снижается до наших стандартных цен, т.е. до нескольких тысяч рублей за модуль.
                                    0
                                    А почему на плате нет механического крепежа для вашего SODIMM модуля проца? Полагаете, он на вибрации не отщелкнется?
                                      0
                                      Полагаю. Там достаточно жесткие защелки, никогда проблем с этим не было.
                                      0
                                      Сначала было подумал что за 13 кило рублей в принципе неплохой комплект и можно вязть поиграться, но выяснилось что 3G это еще +3 т.р. wifi… итого 18 т.р. — ну не поигрался и ладно.
                                      Скажите а из чего сделана кнопка питания на корпусе за 500 рублей?
                                        0
                                        На всякий случай: цена с 3G и Wi-Fi+Bluetooth и антенной 16700 рублей. По такой цене похожих устройств с 3G я не знаю.
                                        Цена за крышку с кнопкой питания — это отдельная история: мы поставляем 95% устройств без кнопки питания, потому что контроллер обычно работает 24/7, и на многих объектах возможность выключить контроллер неспециалистом — это минус. Но так как иногда всё-таки просят кнопку, мы выставили цену за такую модификацию на сайт, и держим для таких заказов отдельную коробку со специально фрезерованными верхними крышками с кнопкой и коннектором.
                                        0
                                        Спасибо, прочел с удовольствием. Понятно, что «игрушка» для энтузиастов, но все таки, на сайте, не могли бы для примера, описать пару тройку реализаций, с более подробным описанием, на чуть более понятном для неискушенных?
                                          0
                                          Спасибо за отзыв!
                                          А вам какие реализации интересны? У нас основные клиенты — это не «умный дом», а автоматизация зданий, контроль удалённого оборудования и т.д. Про эти кейсы мы хотели пару отдельных статей написать.
                                          Умный дом, конечно, тоже собирают, но про это мы пока статью не планировали.
                                          0
                                          Для начал простейшие, управление освещением. Если не трудно, и про умный дом, было бы интересно. Ваша концепция очень легко масштабируемая, как на квартиру\дом так и на здания разной специфики, от складов до рабочих зон.
                                            0
                                            У нас есть облачное решение для управления контроллером Wiren Board, но оно пока в стадии Бета и работает с некоторыми ограничениями. Позволяет упростить создание скриптов и визуализировать процессы.
                                            0
                                            У вас 'CE' для прибора сделано? (Сертификация для Европы) Прибор звучит интересно, но я боюсь, что местные электрики его завернут из-за сертификации.
                                              0
                                              Нет — всё собираемся, но пока не сделали. Сейчас предварительно планируем комплекс мер на осень: европейская сертификация, нормальный перевод сайта, базовый перевод документации.
                                              А как вы полагаете, где в Европе его можно было бы применить?
                                                0
                                                Ну я бы себе на Кипре поставил для управления умным домом. В моём представлении умный дом довольно примитивно — датчик температуры, датчик Co2, два ввода питания (ночное дешёвое электричество и дорогое обычное) — и всё, задча рулить кондеями и вентиляцией.
                                                  0

                                                  А разве в своем доме строго обязательны только сертифицированные решения?

                                                    0
                                                    На Кипре — да. Только сертифицированный электрик. Какая ответственность не знаю, но точно известно, что только так. Даже розетки самому менять нельзя.
                                                  0
                                                  А процедура сертификации сильно сложная? Если не секрет, какой порядок цен на оную?
                                                    +1
                                                    Немного меньше миллиона за одно устройство. Ну и хлопоты по организации.
                                                0
                                                Нет ли модулей для работы со стандартными Wiegand-считывателями? D0-D1, пара светодиодов, пара сухих контактов, пара реле
                                                  +1
                                                  Не очень понял вопрос. К контроллеру считыватель по Wiegand подключить можно, правда это неудобно. Удобнее подключать через Dallas TM или RS-485.
                                                    0
                                                    Вопрос именно об удобстве. Интересно было бы собрать на нём мини-СКУД, но без заточеного под это модуля очень неуклюже получится.
                                                  0

                                                  А чем обусловлен выбор SODIMM для процессорного модуля? Планируете далее менять на что-то более серьезное? 800 МГц тоже не шибко много для ряда задач.

                                                    0
                                                    А для каких задач нужно больше?
                                                      0

                                                      Видео обрабатываем. Пользуем RPi3 с платой самодельной.
                                                      У вас есть какие-либо аппаратные кодеры/декодеры?

                                                        +1
                                                        Наш контроллер точно не для обработки видео. А если не секрет, какая у вас задача, в которой нужна и автоматизация (RS-485, входы-выходы), и обработка видео на одном устройстве?
                                                          0
                                                          На объектах устанавливаем USB-камеры (получается дешевле, чем IP и нет проблемы с подводом питания, при том, что устанавливаем бывает на расстоянии до 10 м) и локально на RPi выполняем обработку видео — сжатие, нарезку на части, извлечение кадров для превью, организация параллельной трансляции.
                                                            0
                                                            Про видеочасть примерно понятно, наверно, можно попробовать (но будет точно не так быстро, как на Raspberry Pi). А автоматизацию какую выполняете этим же устройством на объекте?
                                                              0
                                                              Про видео. Если аппаратного кодека нет или нет его поддержки в ffmpeg, то это беда-беда. Если в RPi не использовать аппаратный кодер, то решение становится негодным к продакшену.

                                                              > А автоматизацию какую выполняете этим же устройством на объекте?
                                                              Некоторое количество датчиков открытия (герконы), датчики темп. и влажности (1-wire), напряжения на АКБ, счетчики электроэнергии, по Ethernet еще снимаем статистику по SNMP (c ИБП в частности).
                                                    0
                                                    Добрый день. Не нашёл, есть ли интерфейс OpenTherm?
                                                      0
                                                      Добрый день!
                                                      Пока нет. Думали, но вы пока только третий человек, который интересуется.
                                                      А для какой вам задачи?
                                                        0
                                                        газовым котлом управлять например, многие имеют такую вывод, и «фирменный» контроллер стоимостью в полкотла.
                                                          0
                                                          Это что ж за горелки такие…
                                                            0
                                                            не совсем понял вопрос, но сам интерфейс есть и в Buderus и Baxi оба котла ~30-40к, проводной регулятор с датчиком от 5 вроде как, с поддержкой беспроводных дороже. Вплоть до «систем управления» под 100к
                                                              0
                                                              Хм. Я сталкивался с небольшими котлами контейнерного исполнения на Logo, бюджет шкафчика явно меньше даже 1/10 остального оборудования. Видел ОВНОвое решение для котельной больницы, как бы цена тоже не может дойти и до 1/10. Для полноценных котлов обязательно наличие сертифицированного автомата горения, вокруг которого строится вся обвязка. К примеру на котле ДЕ-30 цена нормального привода паровой задвижки выше всего шкафа управления вместе взятого. Мы, полагаю, говорим сейчас о принципиально разных классах устройств — вы о «бытовых» котлах для отопления помещений, а я о промышленных генераторах пара и системах отопления для целых зданий и комплексов, отсюда вышло небольшое недопонимание соотношения цен системы управления и самого котла.)
                                                            0

                                                            Смотря как управлять.
                                                            Сам модуль сопряжения с opentherm несложный. Можно наколхозить преобразователь opentherm — rs232.

                                                        0
                                                        А как у него с живучестью по холоду? Интересует с какой стороны: если буду ставить, то на дачу. В зимнее время соответственно для него задачей станет пережить отключение электричества на 4-6 часов и проседание температуры до -10-15 (врядли больше), при подаче напряжения включиться и поднять обогреватели.
                                                        Этой зимой «умная» терморозетка не справилась, увы. У неё конечно по паспорту была эксплуатация от нуля до 50, но я надеялся, что выживет. Зря.
                                                        Городить вокруг мозгов дома обогрев от ИБП на 6 часов мне как-то не хочется.
                                                          0

                                                          Погреб + герметический ящик?

                                                            0
                                                            С холодом проблем не будет, могут быть проблемы с влажностью и выпадением конденсата.
                                                            Бюджетное решение — герметичный шкаф + силикагель для кошачьего туалета.
                                                              0
                                                              или негерметичный шкаф + греющийся кабель, ватт 10-20 хватит на маленький шкаф.
                                                            0
                                                            Очень не хватает документации, примеров сценариев использования, онлайн демки веб-интерфейса. Бегло пробежался по сайту и wiki, но так и не понял на кого позиционируется ваше решение. Больше на частников или на бизнес.
                                                            Начал строить дом и сейчас как раз раздумываю — что брать за основу для его автоматизации.
                                                            То ли какую-нибудь RPI/odroid + колхозинг из всевозможных релюх c esp, sonoff, xiaomi aqara и прочего бюджетного c HomeAssistant/Domoticz, то-ли доплатить и взять какое-нибудь законченное решение с возможностью расширения.
                                                              0
                                                              Примеры сценариев — я как интегратор использую данные решения для комплексной автоматизации инженерной инфраструктуры зданий. Нормально идет в банковском, продуктовом и топливном ритейле. Решил много задач по мониторингу базовых станций и телекомуникационных узлов и датацентров — уже более двух тысяч внедрений. Сделал несколько мноквартирных домов — умные квартиры и диспетчерезация для УК. Основные системы которые мониторю и чем управляю — контроль электро/газо/водо/теплоснабжения, резервное ДГУ и бесперебойное ИБП электроснабжение, освещение, вентиляция, кондиционирование, ИТП, СКУД. Есть интеграции с охранно-пожарной сигнализацией. Спектр применения очень широкий.
                                                                0
                                                                С документацией почти у всех производителей подобного оборудование мягко сказать очень скудно, т.к. разработчики концентрируются на внутренней начинке и совсем забывают про пользователей. Лично я не один раз сталкивался с подобными проблемами и часто приходилось искать инфу по форумам и т.д. Прежде чем начинать делать автоматизацию на UNIX подобных и не только системах, оцените свои возможности, сможете ли самостоятельно во всем разобраться, иначе «геморрой» будет в подарок с оборудованием. Для умного дома есть бюджетные, законченные и почти работающие решения например Loxone и ему подобные. Почему почти? Потому, что тоже «глючит» или «глючило», т.к. последний раз я с ним работал 4 года назад, может уже все изменилось. Каждый по своему себе представляет умный дом и исходя из этого необходимо подбирать соответствующее решение. В любом случае приятно видеть, что отечественные производители следят за тенденциями и стремятся к совершенству. WB, это мощный комбайн, но ребята… Для кого вы делаете продукт? Если для себя, то пойдет как есть, если для людей, то занимайтесь документацией и примерами реализации. Удачи вам!
                                                                  0
                                                                  «Очень не хватает документации, примеров сценариев использования, онлайн демки веб-интерфейса.»
                                                                  Вы наверное действительно очень бегло пробежались по сайту))) я как и вы зашел и сразу же нашел и демо интерфейс и еще есть видео стенда, где можно всем порулить через интерфейс!!! Ну и на форуме тысячи сценариев применения!!!
                                                                  Демо WEB интерфейс:
                                                                  demo.contactless.ru/#

                                                                  Онлайн-видео демонстрационного стенда:
                                                                  contactless.ru/stand-online

                                                                  Ну WiKi и Форум то сами найдете я надеюсь)))
                                                                    0
                                                                    Это все как бы есть. Но в данный момент Демо WEB интерфейс не работает, а когда работал, то на Онлайн-видео демонстрационном стенде ничего не происходило. Как вы успели выполнить более 2000 внедрений? Если устанавливать каждый день по WB, то у вас ушло бы 5,5 лет. Мне кажется, что WB 5-6 лет на рынке, может ошибаюсь.
                                                                      0
                                                                      Ну я был на новом сайте (тот что в статье).
                                                                      И к великому моему стыду я там вэб-демки до сих пор не нашел.
                                                                      А по вашей ссылке кроме навбар-меню тоже ничего не фурычит, к сожалению.

                                                                      Wiki с форумом нашел. Спасибо :)
                                                                    0

                                                                    Вот бы ещё Вики довели до ума. А то очень много не рабочих ссылок. И развитие железа опережает описательную часть (очень важную для продвижения продукта) на пару поколений.
                                                                    Многие нюансы вообще не затронуты.

                                                                      0
                                                                      Да, это в наших ближайших планах. А у вас есть какие-то конкретные вопросы, ответы на которые хотелось бы прочесть?
                                                                      +1
                                                                      А как обстоят дела с ресурсом flash памяти? Есть ли оптимизация ОС под это дело?
                                                                      Для той же Raspberry существует проблема быстрого износа флешки.
                                                                        0
                                                                        У нас используются чипы eMMC, распаянные на плате вместо SD-карт. По своей сути это почти одно и то же, но с качеством у eMMC дела обстоят гораздо лучше. У нас до сих пор отказы eMMC являются одной из первых по частоте причин отказа контроллеров, но в абсолютных числах это единицы штук на тысячи проданных. Пока ни одного отказа из-за собственно износа (ограниченного количества стираний ячеек) у нас зафиксировано не было: это проверяется по служебной информации в регистрах EXTCSD.

                                                                        0
                                                                        Позвольте полюбопытствовать: что за клеммы на плате — пружинные wago 250 серия?
                                                                          0
                                                                          WAGO цветные мы купить в России не смогли (передаю привет бездельникам из их российского офиса). Это тайваньский Degson, серия DG250.
                                                                          0
                                                                          Давно «слежу» за вами, вы делаете классную вещь, но:
                                                                          Другие написали вроде, но от себя тоже хочется все-таки: доки и софт, доки и софт! Опять статья про то, какое мы сделали железо… А я хочу принести, открыть «первые шаги», запустить IDE без линуксов и дебианов, перетащить блок пид-регулятора или RS-триггера и управлять диодиком\теплым полом\воротами etc!((
                                                                          Кстати, нет в планах делать те же устройства, только с Ethernet на борту?

                                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                          Самое читаемое