Comments 94
Самая неприятная ситуация, в которой не хочется оказаться — это полный выход из строя контроллера в какой-нибудь праздничный день. Когда замены ждать несколько дней и непонятно как переносить настройки со сгоревшего устройства на новое. Хорошо если бы был какой-то простой способ миграции с одного wb на другой именно на такой случай.
Наверно глупый вопрос, но всё же. В wb5 никак нельзя заменить процессорный модуль на что-то помощнее?
Но шаловливые ручки частенько что-нибудь ломают в софте. К сожалению простого способа миграции пока нет.
Но вообще, систему автоматизации надо проектировать так, что бы выход из строя контроллера не приводил к фатальным последствиям — был режим перехода на ручное управление, периферийные устройства могли работать автономно и т. д.
В wb5 никак нельзя заменить процессорный модуль на что-то помощнее?
Можно, wb5 с мощным процессором это и есть WB6. В начале пытались сделать хотя бы ограниченно совместимыми процессорные платы, но различий оказалось многовато и не стали заморачиваться.
Просил помощи на форуме, пожали плечами, остался с проблемой один на один…
Проблема с веб-интерфейсом действительно была, но, кажется, всегда решалась перезагрузкой страницы.
По опросу Modbus реле — нашёл вашу тему на форуме, мы в ней дали советы, которые могли, а потом тема заглохла. В целом, чтобы найти решение, наверно требовалось больше усилий и от вас, и от нас. Вот у меня на столе лежит релейный модуль, опрашивается на 115200 бит/с и реагирует быстро — теперь нужно найти разницу в конфигурациях)
В ваших i2c модулях есть пин int, подозреваю что это прерывание от устройств, т.е. реакция должна быть мгновенной. В modbus же придётся по кругу опрашивать каждое устройство, если устройств много (у меня пять i2c устройств, которые я подумываю подключить через rs485 адаптер), тогда время вообще будет неприемлемым.
В ваших i2c модулях есть пин int, подозреваю что это прерывание от устройств, т.е. реакция должна быть мгновенной.
Всё так
В modbus же придётся по кругу опрашивать каждое устройство, если устройств много (у меня пять i2c устройств, которые я подумываю подключить через rs485 адаптер), тогда время вообще будет неприемлемым.
Тут есть большая неопределённость с тем, что является приемлимым. Я знаю ровно одну задачу, где опроса дискретных входов с задержкой в полсекунды недостаточно: включать свет по выключателю. Для конкретно этой задачи есть варианты:
- Поднять скорость шины И опрашивать только регистры входов
- Не использовать Modbus вообще, использовать, допустим наши боковые модули входов. К контроллеру можно подключить напрямую максимально 4*16 = 64 таких дискретных каналов, это более чем достаточно для выключателей.
- Если это умный дом, то использовать для панелек какой-нибудь KNX, благо у Wiren Board есть с этим интеграция
Питание от батареи Li Poli -> step up -> диод -> step down -> step down -> LDO.
Чес сложнее софт и железо тем неизбежнее и больше багов…
Это другая сфера, другие подходы, все другое.
Есть декларации о соответствии ТР ТС 004/2011«О безопасности низковольтного оборудования» и ТР ТС 020/2011 «Электромагнитная совместимость».
Есть боковой модуль AI-DV-12 с токовыми входами 0..20, 4..20 мА.
Для датчиков типа Pt100/1000 и термопар разработали MAI-11. Но выпуск пока придержали — устройство сложное, куча режимов, еще отлаживать надо, а спрос непонятен, когда есть датчики 1-Wire.
А вы обычно автоматизацией в каких областях занимаетесь?
—
Предложенные на замену ПЛК новой модели вызвали ещё больше нареканий, т.к. в них не завелись даже надёжные на старых моделях UDP подключения для обмена данными между контроллерами. Два контроллера общаются между собой стабильно, при подключении третьего — произвольно ложится и перестаёт отвечать один из трёх ПЛК. Количество ошибок при загрузке программы (неправильно завершённые сеансы, обрывы передачи данных, #0 без конца и края) полностью исключает возможность использования данного оборудования на ответственных применениях вне рамок тупого мониторинга небольшого количества переменных.
— Добавлю к этому, что тех поддержка предлагает влезть в плату управления с паяльником чтобы «поменять батарейку», что является прямым нарушением условий гарантийного обслуживания.
Может, у вас откровенный брак был?
Вы получили ответ на ваше письмо? Было бы интересно услышать ответ (или ответ — замена ПЛК)?
Ответ на последнее письмо пока не получили и вряд ли он будет — нас попросили оставить положительный отзыв об опыте внедрения их оборудования в ответственном месте, а получили вместо «спасибо всё круто» такой список проблем… самое грустное, что техподдерка при всём желании не может их решить. Эти проблемы были заложены ещё на стадии проектирования железа.
Что значит избыточна программа для 3х ПИД — не хватает ресурсов? В контроллере можно проверить количество этих самых ресурсов, чтобы оценить?
Обновленные модели также отказались работать с 3ПИД?
Я к тому — что наверно не могут тысячи (а я думаю у них партии именно такие) устройств не работать?
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 и больше никогда с ОВЕН связывать не собираемся. Время в разгребание этих проблем и пытки тех поддержки улетело немеряно, а выхлопа ноль. Да, для каких-то примитивных задач задач возможностей этих недоконтроллеров может и хватит, но…
Я правильно вас понял — на ПЛК 150 крутилось 3 ПИДа + кое какая дискретная логика, обмен с I\O, плюс коммуникиция наверх и это еле-еле(никак) крутилось?!? Мда.
А я так хотел использовать Овен для домашней автоматизации, возложить на него «серьезные» задачи по отоплению и свету…
ПРки использовали? Про них я не слышал, чтобы глючили. Про ПР200 в частности, интересно
Слежу за Wiren Board с самого начала — сразу понравилось, что в комбайне всё на борту "из коробки", а то в RPi приходится все обвязки самому колхозить. Если б карман был шире, накупил бы ваших плат и забыл про долбанное велосипедо-строительство. В общем, рад, что ваш девайс совершенствуется.
А какой бы вы рекомендовали IP-KNX гейт по разумной цене?
Я то сперва подумал, что вы за KNX много берете, чтобы отбить сертификацию, но походу её у вас нету…
Это голимая проприетарщина, гвоздями прибитая к вендору с узким специфичным набором (1-2 штуки) языков программирования, которые ещё нужно учить и качать специальные IDE (for Windows 10 only) для них.
Здесь же полноценный полностью открытый Linux с 20 популярными языками пр-я, хотя бы один из которых точно знает каждый хабровчанин. Хотя бы по этой причине нужно брать WB.
Да и по цене максимум — сопоставимо, но я уверен что и дешевле, чем большинство «сименсов» и прочих. А если учесть, что все плюшки у WB «искаропки», а сименсы, если начнёшь плюшками обвешивать, то многократно переплатишь. Да и приколотишь себя гвоздями к вендору.
Нужен кому-то дома в роли автоматики дорогой закрытый вендорсос? Мне, например — нет.
PS. KNX подразумевает возможность программирования каждого исполнительного или сенсорного блока, поэтому «центральный блок», который предлагает WB, в принципе не является необходимым. Отсюда и надежность — выгорание любого из блоков системы не приводит к отказу системы в целом.
Интеграторская цена там уже сильно более адекватная, а в опте (25+ устройств) снижается до наших стандартных цен, т.е. до нескольких тысяч рублей за модуль.
Скажите а из чего сделана кнопка питания на корпусе за 500 рублей?
Цена за крышку с кнопкой питания — это отдельная история: мы поставляем 95% устройств без кнопки питания, потому что контроллер обычно работает 24/7, и на многих объектах возможность выключить контроллер неспециалистом — это минус. Но так как иногда всё-таки просят кнопку, мы выставили цену за такую модификацию на сайт, и держим для таких заказов отдельную коробку со специально фрезерованными верхними крышками с кнопкой и коннектором.
А как вы полагаете, где в Европе его можно было бы применить?
Чем все закончилось? Что из вышеуказанного было сделано по результату?
Собственно, всё и сделали:
- сертификат https://wirenboard.com/ru/pages/certificate/,
- перевод сайта, в том числе страницы контроллера: https://wirenboard.com/en/product/wiren-board-6/,
- базовый перевод документации https://wirenboard.com/wiki/Wiren_Board_6/en
А вы планируете за рубежом применять?
А чем обусловлен выбор SODIMM для процессорного модуля? Планируете далее менять на что-то более серьезное? 800 МГц тоже не шибко много для ряда задач.
Видео обрабатываем. Пользуем RPi3 с платой самодельной.
У вас есть какие-либо аппаратные кодеры/декодеры?
> А автоматизацию какую выполняете этим же устройством на объекте?
Некоторое количество датчиков открытия (герконы), датчики темп. и влажности (1-wire), напряжения на АКБ, счетчики электроэнергии, по Ethernet еще снимаем статистику по SNMP (c ИБП в частности).
Пока нет. Думали, но вы пока только третий человек, который интересуется.
А для какой вам задачи?
Смотря как управлять.
Сам модуль сопряжения с opentherm несложный. Можно наколхозить преобразователь opentherm — rs232.
Этой зимой «умная» терморозетка не справилась, увы. У неё конечно по паспорту была эксплуатация от нуля до 50, но я надеялся, что выживет. Зря.
Городить вокруг мозгов дома обогрев от ИБП на 6 часов мне как-то не хочется.
Начал строить дом и сейчас как раз раздумываю — что брать за основу для его автоматизации.
То ли какую-нибудь RPI/odroid + колхозинг из всевозможных релюх c esp, sonoff, xiaomi aqara и прочего бюджетного c HomeAssistant/Domoticz, то-ли доплатить и взять какое-нибудь законченное решение с возможностью расширения.
Вы наверное действительно очень бегло пробежались по сайту))) я как и вы зашел и сразу же нашел и демо интерфейс и еще есть видео стенда, где можно всем порулить через интерфейс!!! Ну и на форуме тысячи сценариев применения!!!
Демо WEB интерфейс:
demo.contactless.ru/#
Онлайн-видео демонстрационного стенда:
contactless.ru/stand-online
Ну WiKi и Форум то сами найдете я надеюсь)))
И к великому моему стыду я там вэб-демки до сих пор не нашел.
А по вашей ссылке кроме навбар-меню тоже ничего не фурычит, к сожалению.
Wiki с форумом нашел. Спасибо :)
Вот бы ещё Вики довели до ума. А то очень много не рабочих ссылок. И развитие железа опережает описательную часть (очень важную для продвижения продукта) на пару поколений.
Многие нюансы вообще не затронуты.
Для той же Raspberry существует проблема быстрого износа флешки.
Другие написали вроде, но от себя тоже хочется все-таки: доки и софт, доки и софт! Опять статья про то, какое мы сделали железо… А я хочу принести, открыть «первые шаги», запустить IDE без линуксов и дебианов, перетащить блок пид-регулятора или RS-триггера и управлять диодиком\теплым полом\воротами etc!((
Кстати, нет в планах делать те же устройства, только с Ethernet на борту?
Wiren Board 6: снова на Хабре с новой версией контроллера для автоматизации