Модули ввода-вывода ОВЕН серий Мх110 (RS-485) и Мх210 (Ethernet)
Моя история работы с ОВЕНом началась в 2016 году, когда один заказчик притащил этот самый ОВЕН и заказал мне собрать на нём щит. Прочитайте пост про это, там есть много интересного и забавного. В те годы я не хотел ничего программировать и связываться с ПЛК, потому что долгие годы до этого программировал, и мне это надоело. Познания про ПЛК и модули ввода-вывода у меня были кривые, и я вообще думал, что это не модули ввода-вывода, а что-то типа модулей расширения, которые предназначены только для ПЛК ОВЕН 110, и никуда больше не подходят.
Сейчас вышло так, что жизнь всё равно меня привела к ПЛК и заставила разбираться. Сначала я работал с модулями IO на уровне тупого идиота: взял модули расширения, подключил, заработало. Да и первые щиты на ОВЕНе я делал как робот: заказчик давал мне всю информацию и даже то, как надо подключать модули, а я просто это исполнял. Вот пример такого щита. Но дальше дело повернулось так, что я всё-таки разобрался в модулях ввода-вывода, затестировал новую серию модулей ОВЕН Мх210 с Ethernet — и вот сейчас делаю большой пост про все модули ввода-вывода от ОВЕНа.
Часть материалов здесь будет из старого поста про модули ввода-вывода, от 2016 года (вот ссылка на него). Ну и часть фотографий будет плохими, так как я делал их с рук и даже не думал, что потом вставлю в пост. А вообще все посты, где упоминается ОВЕН (щиты или их продукция) собраны по тэгу «ОВЕН». Ещё здесь часто упоминаются разные датчики (температуры, давления, климата). Все посты про датчики собраны по тэгу «Датчики».
Содержание
- 1. Модули ввода-вывода (IO) с внутренними и внешними интерфейсами связи. Зачем они нужны и что где удобнее?
- 2. Полезные особенности модулей ввода-вывода и то, на какие концепты стоит обращать внимание.
- 3. Линейка модулей ввода-вывода ОВЕН Мх110 с интерфейсом RS-485.
- 3.1. Общие концепты модулей Мх110: подключение сигналов, адресация, настройки.
- 3.2. Конфигурирование модулей ОВЕН Мх110 и работа с ними через ПЛК.
- 3.3. Модули ввода-вывода ОВЕН Мх110 на 16 каналов (4 DIN-модуля).
- 3.4. Модули ввода-вывода ОВЕН Мх110 на 32 канала (8 DIN-модулей).
- 3.5. Модули ввода-вывода ОВЕН Мх110 с аналоговыми входами .8А (4 DIN-модуля).
- 3.6. Модули ввода-вывода ОВЕН Мх110 с выходами 0..10V .6У (4 DIN-модуля).
- 3.7. Модули ввода-вывода ОВЕН Мх110 для измерения параметров электросети .1М и .3М (1,5 и 6 DIN-модулей).
- 4. Линейка модулей ввода-вывода ОВЕН Мх210 с интерфейсом Ethernet.
- 5. Проблемы с работой модулей ОВЕН МУ210-402/МУ210-403: зависание от помех.
- 6. Итоговые выводы про линейки модулей Mx110 и Mx210.
1. Модули ввода-вывода (IO) с внутренними и внешними интерфейсами связи. Зачем они нужны и что где удобнее?
Начну я с той ошибки, которую совершал в 2016 году, путая модули ввода-вывода и модули расширения конкретного ПЛК. Как я думал раньше? Что есть ПЛК, у которого на борту есть сколько-то входов и выходов. А если тебе их не хватает, то ты докупаешь к нему модули расширения, подключаешь их к ПЛК — и ПЛК видит большее число входов и выходов. Ну а подключать, дескать, можно по разному: у кого-то специальный разъём, у кого-то LAN, а у кого-то — Modbus по RS-485.
Такой концепт верен, но верен только в корне: да, при помощи внешних модулей ввода-вывода мы увеличиваем число сигналов на ПЛК (или других контроллерах). Но вот то, каким именно способом модули ввода-вывода подключаются к ПЛК, имеет большее, чем я думал ранее, значение.
Если модули ввода-вывода подключаются по внутренней шине (такое есть у ОВЕНских ПРок, у разных логических реле типа ABB CL, Siemens Logo, у ПЛК Siemens, Delta Electronics), то они будут подходить только к данной линейке ПЛК, и ни к какой другой: модуль расширения от Logo можно будет установить только в Logo, а модуль расширения к ОВЕН ПР — только в ОВЕН ПР.
Почему же многие производители выпускают такие модули, причём не только для мелких логических реле, а для крупных ПЛК? А потому что внутренняя шина может дать высокое быстродействие этих модулей! И это — самое главное достоинство такого решения, перед которым меркнут его два недостатка: то, что модули подходят только к данной линейке ПЛК и то, что они чаще всего должны ставиться в виде непрерывной цепи строго на одну длинную DIN-рейку (однако у некоторых производителей есть переходники для того, чтобы можно было продолжить цепь модулей на следующей DIN-рейке).
Поэтому, если вы где-то будете читать про ПЛК для систем реального времени с очень высоким быстродействием, то будьте готовы к модулям расширения, которые работают по внутренней шине.
С модулями, которые подключаются к ПЛК по внешнему интерфейсу (чаще всего это RS-485 и протокол Modbus), всё совершенно наоборот: эти модули можно представить в виде отдельных мини-ПЛК, которые умеют делать что-то по командам, которые они получают по интерфейсу связи. Каждый модуль ввода-вывода тут работает автономно и сам по себе, а команды, которые ему посылают, могут выглядеть так: «А скажи-ка, сколько импульсов ты насчитал по входу #12» или «Установи выход #7 во включенное состояние» или даже «Верни-ка состояние всех входов в виде 16-ричного числа битовой маски». Модуль тупо выполняет эти команды, а откуда они к нему приходят — ему пофигу.
Поэтому главное достоинство таких модулей — это то, что они не зависят от системы, которая ими управляет: их можно применять с любыми устройствами, которые могут выдать этим модулям команды по их интерфейсу связи. Этим устройством может быть любой ПЛК, компьютер, схемка на Arduino, программируемое реле и ещё много всего. Производителю это удобно: у него могут покупать ПЛК и модули, могут только ПЛК, могут только модули. А ещё он может выпустить новые ПЛК или другие устройства автоматики, которые будут работать с теми же модулями ввода-вывода. Именно такой путь и выбрал ОВЕН.
Второе главное достоинство модулей с внешним интерфейсом связи — это то, что их можно ставить там, где это удобно (правда надо не забывать об особенностях и ограничениях работы самого интерфейса связи: вдруг он не позволит сделать длинную и быструю линию связи с модулями из-за помех).
Даю пример прям с одного моего проекта (я его только подсчитал и жду оплаты заказа на момент того, как пишу этот пост). Заказчик хочет мониторить температуру подачи и обратки по линиям на батареи в коллекторных шкафах, которые разбросаны по этажам дома. Если бы мы использовали модули ввода датчиков температур (пост про датчики температуры — здесь) со встроенной шиной, то от каждого датчика температуры нам надо было бы тащить экранированный кабель в щит. Было бы 40 датчиков — было бы 40 кабелей.
А вот модули с внешним интерфейсом связи я могу поставить сразу же в коллекторные шкафы прямо по месту, а к щиту проложить только сам интерфейс связи одним кабелем! Датчики будут подключаться к модулям прямо там, в шкафах и, если одного модуля не хватит — то я там же поставлю ещё один модуль.
Главных недостаток модулей с внешним интерфейсом связи — это скорость передачи данных по этому интерфейсу, которая зависит от длины линии связи и количества модулей в штуках: чем больше модулей, тем реже каждый из них опрашивается, так как ПЛК может опрашивать их друг за другом, а не все одновременно сразу. Утрированно, если на опрос каждого модуля тратится 10 мсек, то если модулей будет 5 — каждый будет опрашиваться раз в 50 мсек. А если их будет 20 — то опрос каждого из них будет идти уже раз в 200 мсек, что может быть критично для нашей системы.
Чтобы ускорить обмен с такими модулями ввода-вывода, я применяю такие приёмы, которым научился от заказчиков и других умных спецов:
- Разделение быстрых и медленных модулей по разным интерфейсам связи. Глупо пихать на один канал RS-485 модули ввода сигналов кнопок и модули реле управления светом вместе с модулями ввода данных о температуре с датчиков из нашего примера выше — количество модулей будет большим, кнопки будут опрашиваться реже, и мы будем иметь проблемы с реакцией системы на их нажатия.
Самое обидное будет то, когда мы узнаем о том, что модули ввода данных о температуре (на примере ОВЕНских) обрабатывают значение с каждого датчика за 0,6-0,9 секунды и опрашивать такой модуль на 8 датчиков чаще чем 8 х 0,6 = 4,8 секунды просто не имеет смысла.
Поэтому тут надо разделить такие модули на два разных канала на уровне ПЛК. Тем более, что если наши модули датчиков температуры раскиданы по дому, то по этому каналу надо снижать скорость обмена, чтобы повысить его помехоустойчивость. - Использование модулей с максимально большим количеством каналов. На примере модулей ОВЕНа набрать 150 входов вы можете при помощи модулей на 16 входов или модулей на 32 входа. Модулей на 16 каналов нам понадобится 10 штук: это даст 160 каналов ввода. Но как они будут опрашиваться? Ведь реже, чем 5 штук модулей на 32 канала, верно? В два раза реже!
Сейчас я все новые щиты именно так и проектирую: сначала набираю нужное число IO модулями на 32 канала, а потом оставшееся число IO добираю модулями на 16 каналов. Число модулей IO в щите сокращается с 10-12ти до 5-7 модулей, и это очень хорошо для всей системы в целом! - Использование запросов на чтение регистров модуля подряд (чуть подробнее я расскажу ниже). Если нам везёт и регистры, например, всех восьми аналоговых входов идут подряд, то мы можем отправить модулю вместо восьми отдельных запросов на чтение каждого, один общий запрос: прочитать 8 регистров, начиная с указанного. Это тоже убыстряет обмен данными с модулем.
2. Полезные особенности модулей ввода-вывода и то, на какие концепты стоит обращать внимание.
В этом разделе я хочу рассказать о фишках модулей IO от ОВЕНа, которые мне понравились и, как я понял, являются нормальным для промышленных стандартов, но не всегда есть у мелких бытовых контроллеров типа WirenBoard, датчик WB-MSW от которых я щас насилую и тестирую (пост про датчики климата можно почитать тут).
В промке ошибки и глюки приводят к более страшным последствиям. Если в быту у нас отвалится связь с модулем, то мы можем потерять работу кранов воды, термоклапанов отопления, работу света. Это может привести к тому, что вы замёрзнете, сгниёт холодильник. А вот если в промке что-то случится с котлом, который отапливает весь район города, подстанцией или химическим заводом — может хорошо рвануть.
Поэтому первое, что закладывается в модули IO — это то, как они должны определять потерю связи с ПЛК и что при этом должны делать со своими выходами. Настройки, которые за это отвечают, обычно называются «Безопасное состояние выходов» и задаются в виде общего таймаута, после которого модуль вываливается в безопасное состояние и то, что надо делать с каждым выходом такого модуля в этом состоянии: выключить или включить его. Например, работающее оборудование при потере связи нужно выключить, а дежурное освещение — включить.
Второе, что важно и нужно — это диагностика линий IO модуля, которая в него же и встроена. Модуль может сообщать ПЛК об обрыве или замыкании своих цепей, чтобы ПЛК мог на это правильно реагировать. Особенно это важно для аналоговых линий (датчиков): мы должны знать о том, оборвался ли датчик, замкнуло ли его, или это действительно сейчас температура равна 0 градусов ровно. Пост про отладку и обработку полученных данных с измерительного модуля находится здесь.
Ещё я встречал фишки контроля транзисторных выходов (открытый коллектор ОК): через выключенный выход пропускается микроток, который измеряется модулем. Если цепь выхода оборвана, то тока не будет, и модуль сможет это отследить.
Следующий концепт, который бывает важным, — это то, как модуль отдаёт свою информацию по внешнему интерфейсу — карта его регистров для протокола Modbus. Я готовлю (постепенно) пост про Modbus, где подробно всё расскажу. Тут же я упомяну о том, что Modbus с точки зрения пользователя — это возможность прочитать или записать значение в какую-то ячейку, которая называется регистром. У регистров есть адреса и их выдумывает сам разработчик.
И вот то, как располагать эти регистры и какого типа их делать, иногда может сыграть злую шутку. ОВЕН думал, когда создавал карты регистров для своих модулей, потому что один и тот же модуль может отдавать данные следующими способами, которые реализованы в модуле одновременно на выбор:
- Один регистр — битовая маска. Так удобно получать или устанавливать значения сразу всех входов или выходов модуля: к модулю посылается один короткий запрос чтения/записи всего одного (для 16 каналов) или двух (для 32х каналов) регистров. Такой короткий запрос позволит быстрее опрашивать модуль.
- Один регистр — один канал модуля. Не все ПЛК или мелкие системы управления могут легко разобрать ту самую битовую маску (например в Logo такого вообще нет и не сделать). Поэтому таким системам будет удобнее работать с набором регистров. Но читать-писать в этом случае понадобится больше: количество регистров будет равно количеству каналов модуля.
- Счётчики импульсов (для дискретных входов). Некоторые модули сразу аппаратно умеют считать импульсы и сохранять это значение внутри своей памяти. Это очень удобно для ввода параметров счётчиков воды или регистрации других данных. ПЛК забирает готовое значение, не трудясь считать импульсы сам.
- Регистры типа Coils (булевы). Те же модули дискретного ввода-вывода могут работать не с регистрами типа Word (обычными для Modbus), а ещё и с Coils — булевыми регистрами. Это сделано тоже для совместимости с некоторыми системами. Например, в Logo мне не удалось завести ОВЕНский модуль через регистры Word, а через Coils — удалось.
- Аналоговые данные (число с плавающей точкой) возвращаются как пара регистров, идущих подряд — в формате Float. Многие ПЛК умеют корректно получить эти регистры и составить из них нужное число.
- Те же аналоговые данные отдаются теми же модулями в виде набора регистров «Положение десятичной точки» и «Число без десятичной точки». Эти регистры — строго целочисленные, и некоторым ПЛК проще работать с ними, чем составлять Float из двух регистров.
Мне этот способ очень нравится: получаешь число типа «27865» и значение десятичной точки в «3», а потом делишь значение на десять в степени десятичной точки (1000) и получаешь искомое значение в 27.865.
А ещё важно расположение самих регистров по списку, потому что в Modbus есть команды как чтения одного регистра, так и нескольких подряд. И программисты любят использовать эту команду, так как она тоже сокращает количество запросов к модулю. Например, если регистры значений всех 16ти входов идут подряд и имеют номера 10, 11, 12, …25, то можно прочитать их 16ю командами, а можно всего одной: «Прочитать 16 регистров, начиная с адреса 10». А вот если регистры будут стоять не по порядку, то команд придётся посылать больше. А это снова вызовет задержки в работе модуля.
Ещё то, что я считаю важным — это удобный возврат модуля к заводским настройкам. Представим, что наш модуль использовался в каком-нибудь проекте, а потом пару лет лежал в запасе. И вот мы решили его взять и перенастроить его под другой проект. А вот фиг: мы не знаем, какой у него был адрес и параметры связи. И вот тут-то и нужен удобный способ возврата к заводским настройкам.
Чаще всего делается специальная кнопка, которую надо зажать после подачи питания — и модуль полностью сбросится. Более ленивые производители делают проще для них, но сложнее для нас — послать широковещательную команду записи в какой-нибудь регистр модуля по адресу 255, которую модуль получит и сбросит настройки.
ОВЕН сделал интереснее, и мне нравится этот способ: если открыть модуль и установить внутри него перемычку, то при следующем запуске модуль временно изменит только свои параметры связи на стандартные, но НЕ сбросит все настройки. Это круто, потому что к модулю можно будет подключиться и посмотреть, что там внутри него понастроено. Если ничего не менять — то после снятия перемычки модуль оставит старые настройки, чем можно пользоваться, если вы хотите «просто посмотреть».
Следующий концепт — это гальваническая развязка цепей внутри модуля: его интерфейса связи, его входов, выходов. Это одна из самых дорогих частей по стоимости модуля, потому что сделать простую фигнюшку, которая будет работать под Modbus и отдавать свои данные, легко, а вот сделать ту же фигнюшку так, чтобы её RS-485 был полностью гальванически развязан от цепей входов-выходов и питания модуля — сложнее и дороже. Нужны оптопары, специальные микросхемы драйверов с развязкой шины и прочие извращения. Поэтому многие производители экономят на этом, рассчитывая на то, что модуль будет работать в тепличных условиях — например, строго внутри щита и питаться от того же блока питания, что и управляемая им нагрузка.
ОВЕН, как мы дальше увидим, применяет гальваническую развязку разумно. Например, в модулях дискретного ввода она есть, а в модулях дискретного выхода с реле нету, так как сами реле и являются этой развязкой.
Ещё важны (вы обсмеётесь) светодиоды индикации режимов работы модуля и состояния его входов-выходов. Это не украшательства, а средства отладки щита, потому что по светодиодам на модуле можно увидеть дохлое реле/контактор, дохлую цепь входа модуля или то, что ПЛК вообще не включает модуль. Это правда удобно!
Ну и последний в списке, но не последний по важности концепт — это то, как группировать каналы модуля физически. Про это я уже рассказывал в посте про подходы к проектированию щитов на ПЛК: «Цена одной строчки». Я не скрываю того, что группировка каналов у ОВЕНа мне очень нравится: в модулях дискретного ввода-вывода они собраны по 4 штуки с отдельным общим выводом, что позволяет извращаться даже так, чтобы часть входов модуля активировать сигналом +24V, а другую часть — сигналом GND.
Дополнительный эффект от такой группировки ещё и в том, что у модулей повышается плотность монтажа: модуль на 16 входов вместе с клеммами питания и RS-485 занимает всего 4 DIN-модуля в щите. Это очень круто!
Конечно, вы можете сказать что делать группы по 4 выхода вместе может быть неудобно, если эти выходы должны рулить разными нагрузками. Да, это так. В этом случае может быть так, что из группы по 4 выхода вам понадобится только один, а остальные будут потеряны. Моя практика показывает, что в этом случае проще поставить внешние реле и управлять нагрузками через них, чем тратить выходоы модуля.
Но если производитель сделает отдельные выводы для каждого входа, то это сильно снизит плотность монтажа в щите и приведёт к лишним соединениям, если нам надо будет запитать несколько выходов этого модуля от одного источника. Мы увидим, как это работает на модулях ОВЕН Мх210: там как раз так и сделано.
В общем, оказалось что разработка и выбор хорошего модуля ввода-вывода — это не совсем простое дело, как я раньше думал. Мне повезло в том, что я наткнулся на ОВЕН и немного развратился их модулями ввода-вывода серии Мх110: там есть и понятные инструкции, и хорошо продуманные таблицы регистров Modbus, и удобная группировка линий IO. Для модулей аналогового IO есть диагностика входов, которая очень важна даже для бытовых проектов. Есть и настройка безопасных состояния выходов.
3. Линейка модулей ввода-вывода ОВЕН Мх110 с интерфейсом RS-485.
Модули ввода-вывода ОВЕН Мх110 на 16 и 32 канала
Начнём мы с линейки модулей ввода-вывода с интерфейсом RS-485. Это давняя линейка модулей от ОВЕН, которая претерпела изменения в лучшую сторону и получила обновлённые корпуса, начиная примерно с 2017-2018 годов. Раньше модули (и ПЛК 110) выглядели так:
ПЛК ОВЕН 110 и модули ввода-вывода для него
А то, как они выглядят сейчас, вы узнаете дальше по тексту =)
3.1. Общие концепты модулей Мх110: подключение сигналов, адресация, настройки.
Эта линейка модулей мне ОЧЕНЬ нравится, и всё, что я написал выше про фишки модулей — я писал именно про эту линейку. Многие спрашивают меня о том, почему я выбрал ОВЕН, а не Siemens или другие ПЛК. Так вот мне ПОВЕЗЛО, и удачно повезло: я попал на линейку ОВЕН ПЛК110 + Мх110, которая отлично влезает в небольшие щиты. Например, в щиты серии AT/U (вот ссылка на пост, где я перебирал внутреннюю начинку щита серии AT/U, чтобы поставить туда ПЛК 110 и модули Мх110).
Примерка закрывания ПЛК пластроном щита
Модули Мх110 имеют высоту, равную высоте стандартного автомата по верхнюю часть его клювика. Для того, чтобы модуль влез в щит, DIN-рейку этого щита надо опустить всего лишь на 20 мм ниже обычного. А это можно провернуть и в небольших щитах! То есть, под эти модули нам не надо заводить TwinLine или другой глубокий шкаф! Ура! =) Сейчас я вовсю собираю щиты на СПК107/110 и модулях Мх110 в формате голой WR-рамы без корпуса (а вот пост о том, как народ монтирует их на стены). Так вот такие щиты с учётом держателей проводов сзади DIN-реек имеют установочную глубину всего в 160 мм!
Линейка Мх110 содержит такие варианты модулей (пишу самые распространённые):
- «Д» — Дискретные входы, сухой контакт. У модуля есть один общий контакт (он продублирован в нескольких местах) и контакты входов, которые надо замыкать с этим общим.
- «ДН» — дискретные входы, контакт с напряжением, собранные в группы по 4 штуки. Такие входы у модуля имеют гальваническую развязку на группу и содержат внутри оптопару, которая умеет работать от любой полярности на входе. Мне нравятся эти входы, потому что их можно питать так, как хочется по схеме: например, если на общий группы входов (сигнал SSx) подать GND, то входы будут включаться по +24V. А если нам надо подключить датчики протечки от Нептуна (напоминаю пост про них), у которых выход подключается на GND, то на общий входов (SSx) надо подать +24V — и тогда входы будут работать по GND.
- «А» — универсальные аналоговые входы. В зависимости от схемы включения (все схемы показаны в инструкции к модулю) входы могут работать как сухие контакты (по два на вход), измерять сопротивление (по два на вход), измерять сигналы от термопар, датчиков температуры (пост про них), напряжение 0..1 V (для 0..10 V нужен делитель) и ток в (0)4..20 мА. Короче, все варианты распространённых промышленных сигналов!
- «К» — дискретные выходы типа «Открытый коллектор», собранные в группы по 4 штуки. Общий — плюс, через выходные транзисторы выдаётся минус питания. Удобны, если надо выдавать ШИМ-сигналы (небольшой частоты) на всякие твердотельные реле или если надо питать много слабых внешних реле.
- «Р» — дискретные выходы типа «Реле», также собранные в группы по 4 штуки. Реле стоят на небольшие токи — на 3-5 А, поэтому свет напрямую ими не покоммутируешь, но поуправлять лампами подсветок, другими более мощными реле или контакторами — легко можно.
- «У» — аналоговые выходы типа «0..10V». Каждый выход может иметь отдельное питание (все выходы развязаны между собой).
- «И» — аналоговые выходы типа «4..20 мА». Каждый выход может иметь отдельное питание.
В своих проектах я чаще всего применяю аналоговый ввод (датчики температуры ДТС014 или датчики давления 4..20 мА) и дискретный ввод-вывод (модули «ДН» и «Р»). Все модули дискретного ввода-вывода имеют сигналы, собранные в группы по 4 штуки с отдельными общими выводами. На фотке ниже это хорошо видно:
Входы-выходы модулей ОВЕН Мх110, сгруппированные по 4 штуки с общими выводами COMx
Общие контакты входов обозначаются SSx, а общие контакты выходов — COMx. То есть, SS1 будет общим для входов 1-4, SS2 будет общим для 5-8, SS3 — для 9-12, SS4 — для 13-16 и так далее.
Как я уже писал, со стороны это кажется дикостью и неудобством. Но на самом деле это не так страшно, потому что внутри щита наберётся не так много напряжений, которые надо разделять. У вас может быть +24V для питания реле, GND для питания лампочек подсветок кнопок (напоминаю пост про них), 230V для питания нескольких контакторов. Всё это сортируется по группам из 4х выходов легко. Если же у вас осталось очень мало выходов, и вам хочется использовать их все под разные напряжения — то ну поставьте вы 3-4 реле в щит на них и управляется разными нагрузками через эти реле.
Вот вам примеры того, как я использую IO в модулях по разным щитам. Тут есть датчики защиты от протечек, подключенные с активным GND, есть запитка контакторов через внешние реле развязки (чтобы сгруппировать выходы по +24V резервом), есть группы выходов по GND для лампочек подсветки кнопок с общим +24V, и есть питание релюшек для развязки сигналов управления диммеров Theben DiMAX 534 Plus, чтобы сэкономить выходы модуля и не тратить 8 выходов на 2 диммера.
Пример распределения сигналов IO по модулям ОВЕН Мх110 (группировка по SS/COM)
Когда у вас в щите один ПЛК и парочка модулей IO, то вам не стоит париться про то, сколько они жрут по питанию. А вот когда их много, то нужно начинать считать эту мощность. Вот основные тезисы по ней, которые могут вас удивить:
- Модули аналогового IO жрут примерно по 6 Ватт на модуль;
- Модули дискретного ввода на 16 каналов жрут тоже 6 Ватт, а на 32 канала — 25 Ватт. Да, это так, это правда!
- Модули дискретного вывода с реле на 16 каналов жрут 12 Ватт, на 32 канала — 20 ватт.
Рабочее напряжение модулей с малой мощностью (6-12 Вт) универсальное: низковольтное (24V) или высоковольтное (220V). Такие модули обозначаются как «224», например «МУ110-224-16ДН». Более жирные модули на 32 канала IO имеют только один вид питания и обозначаются как МВ110-24.32ДН или МУ110-220.32Р.
Считаю мощость под свои проекты я в Экселе. В таблицу я выписываю все компоненты щита, а потом сортирую их по нескольким блокам питания, по возможности оставляя питание всего ПЛК от одного блока:
Пример подсчёта мощности, потребляемой по +24V DC внутри щитов
Вы спросите меня о том, почему я так морочусь с разбивкой по блокам питания, а не поставлю один мощный блок. Дело в его габаритах. Например, блок питания SDR-240-24 от Mean Well еле-еле влезает даже в шкаф TwinLine глубиной 225 мм (ставить более глубокий шкаф ради одного блока — это нехорошо).
А вот блоки питания MeanWell серии HDR (напоминаю пост про все блоки питания, которые я использую) имеют мощность до 150 Ватт в гарабите 6 DIN-модулей и встают под пластроны обычного щита. Поэтому я этой серией и пользуюсь, о чём пишу в Техзаданиях на щиты примерно так:
Пример ТехЗадания с описанием блоков питания и мощности ПЛК и модулей IO
С двумя блоками питания получается даже очень удобно: один питает ПЛК, модули IO и обвязку входов, а второй — все внешние цепи и реле в щите.
Напоминаю вам ещё раз ссылку на пост про проектирование, отладку и тестирование щитов с ПЛК, где такие таблички и технологии рассмотрены более подробно.
Все контакты для подключения к модулям Мх110 — винтовые, и они расположены в два ряда перекрёстно сверху и снизу модуля. Крутить их можно плоской отвёрткой или отвёрткой PH2. Это мне нравится: такая отвёртка найдётся на любом объекте, и не надо возиться с мелкой и тонкой.
Винтовые клеммы для подключения модулей ОВЕН принимают отвёртки PH2
Сами контакты легко принимают одинарные наконечники НШВИ (напоминаю пост про них) на 1,5 квадрата и двойные на 0,75. Контакт представляет собой U-образную скобку, которая прижимается к контактной пластине винтом. Такое устройство контакта позволяет зажимать даже два провода разного сечения, никак не связанные друг с другом.
Блоки контактов съёмные (фото будет далее по тексту), и это тоже фишка модулей: если модуль надо быстро заменить, то достаточно откинуть оба блока контактов и снять модуль. Ничего откручивать не надо. Сами контакты держат крепко и провода из них не выпадают. Пару раз я снимал модули (чтобы сфоткать) и проверял это.
Расположение контактов сверху и снизу модулей очень удобно для сборки неглубоких щитов: на передней панели модуля ничего не торчит, он полностью плоский. А все провода по краям модуля можно сразу пустить в щит или уложить в перфокороб. Я использую перфокороб 60х60 или 60х40 в зависимости от щита.
Плотность монтажа этих модулей очень высокая, и это тоже одно из их достоинств.
Модули линейки ОВЕН Мх110 имеют очень высокую плотность монтажа
Как я уже говорил, контакты модулей расположены перекрёстно, поэтому монтаж щита идёт легко. Если позволяет место в щите, то я отвожу на монтаж таких модулей пространство, на одну DIN-рейку большее, чем количество DIN-реек, которые занимают модули.
На фотке модули занимают две DIN-рейки, а оставленное пространство вокруг них — три DIN-рейки. Поэтому тут применён широкий короб 60х60, который отлично закрывает все провода, и всё выглядит очень красиво:
Модули ОВЕН Мх110 в силовом щите на базе системы ABB CombiLine
А вот примерчик монтажа ПЛК 110 (тоже в новом корпусе) и модулей Мх110 из щита со сценарным управлением светом а-ля KNX:
ПЛК 110 от ОВЕН - сердце автоматики щита со сценами света как KNX
Тут щит набит так плотно, что никакого дополнительного расстояния между рейками около модулей не оставлено (использован короб 40х40). При этом оно ВЛЕЗЛО, а единственное что мешает — это гребёнка около УЗОшек, и это мой косяк, который не относится к модулям IO.
Все модули работают по интерфейсу RS-485 на скоростях аж до 115 200 и всех вариантах контроля чётностии стоповых битов. В щитах я и гоняю эти модули на 115 200 вовсю. Протоколы обмена, которые поддерживают модули — это Modbus RTU/ASCII (есть не во всех модулях), ОВЕН и DCON. В некоторых модулях протокол надо настроить явно, а в некоторых модуль автоматически определяет то, какой запрос к нему пришёл (в каком формате) и в таком же формате сам и отвечает.
3.2. Конфигурирование модулей ОВЕН Мх110 и работа с ними через ПЛК.
Для работы со всеми модулями ввода-вывода этой линейки ОВЕН сделал программу-конфигуратор. За это им тоже надо поставить пятёрку, так как работать с программой гораздо удобнее, чем вручную записывать в модуль его настройки (все модули можно настроить вручную записью командами в регистры модуля).
Возможности программы-конфигуратора следующие:
- Чтение и сохранение настроек модуля в файл. Если вы выпускаете щиты промышленной автоматизации партиями, то вам это очень пригодится: не надо каждый раз заново вбивать все настройки в каждый модуль каждого щита. Сделали один раз файл, а дальше подряд: подключили модуль, открыли файл, записали настройки в модуль — и всё.
- Автономный режим работы без подключенного модуля. Удобен, если надо сформировать и передать кому-то файл настроек или посмотреть такой файл без физического модуля.
- Есть поиск модулей на шине. Если вы не можете даже перемычку возврата к заводским настройкам поставить (например, шкаф стоит в недоступном месте), то вы можете попросить конфигуратор попробовать все варианты параметров связи и адресов модулей: на каком-то из них модуль точно найдётся, если он не подох аппаратно.
- Есть понятный пользователю выбор значений настроек. То есть, тип датчика можно выбирать из раскрывающегося списка, а не вводить значения типа 0x12 или 0x1f
- Есть тестирование (отслеживание параметров) модуля. Прямо из конфигуратора можно посмотреть значения на входах модуля, поуправлять выходами, провести юстировку модуля.
- Самый кайфовый режим — это автоматическое переподключение к модулю с новыми параметрами связи. Программа умеет делать это автоматически!
Для того, чтобы показать этот конфигуратор в работе, я буду использовать скриншоты из старого поста от 2016 года. Технически нам понадобится преобразователь USB <> RS-485 и блок питания, чтобы подать питание на модуль.
Все модули по умолчанию настроены на 9 600, 8, N, 1 и адрес 16. Чтобы не было проблем со сборкой щита, первую настройку модулей удобно сделать ДО того, как вы разведёте RS-485 между ними в щите: тогда каждый модуль с одним и тем же заводским адресом будет обмениваться данными индивидуально.
Вот, на этой фотографии из щита в котельную Папушево питание на модули уже подано (и подключен преобразователь для настройки), а RS-485 ещё не разведён:
Настройка модулей ввода-вывода ОВЕН (адреса ModBus, параметры каналов)
А если же соединить все модули, то все они и будут отвечать с одного и того же адреса, и настроить их не получится: надо будет откидывать от каждого из них RS-485. А если его откидывать, то зачем его было подключать? Вот когда модулям даны разные адреса, то можно подключаться к каждому из них индивидуально через общую магистраль RS-485.
При своём запуске конфигуратор сразу предлагает нам подключиться к модулю:
Подключение к модулю IO в программе
Если мы подключаемся к новому модулю прямо из коробки с завода — то можно сразу нажимать кнопку «Заводские сетевые настройки». Если мы знаем точный адрес модуля и его параметры связи, то можно указать их тут. А если мы не знаем ничего, то нажимаем кнопку «Сканирование сети». Если же нам вообще ничего не надо, то жмём «Работать offline». В этом случае программа не сможет определить то, какой именно модуль к ней «подключен» и попросит вас указать его тип.
После того, как программа нашла модуль (или мы указали его вручную для режима Offline), она выдаёт дерево его параметров:
Настройки модуля релейных выходов МУ110-16Р
Конфигуратор для модулей Mx110 сделан очень лёгким и удобным: программа написана на VC++, занимает мало места на диске и в памяти, а самое удобное в ней — это то, что все параметры построены на базе обычного дерева (элемент TreeView). Поэтому группы дерева можно быстро развернуть кнопкой «*» на клавиатуре, а не щёлкать мышкой. А самое неудобное — это то, что нельзя скопировать одни параметры на похожие элементы (например, настройки одного входа на остальные).
Для каждого из модулей мы настраиваем параметры связи: скорость (1), адрес прибора и таймаут перехода в безопасное состояние (2, для модулей вывода) и аварийное значение для каждого из выходов модулей (3). Протокол обмена определяется модулем автоматически.
Для модуля ввода также настраиваем скорость обмена (1), адрес и таймауты связи (2), тип протокола обмена (3) и включаем фильтр дребезга контактов, если надо (4):
Настройки модуля входов МВ110-16Д
Для модулей аналогового ввода нужно настроить ещё и тип входа (датчик, термопара, 0..10/4..20), его масштабирование, а также количество знаков после запятой (скриншоты взяты из поста про программирование ОВЕН ПРххх).
Процесс настройки модуля аналоговых вводов ОВЕН МВ110-8А для датчиков ДТС014
Суть масштабирования в следующем. Технически внутренний АЦП модуля меряет некое напряжение, в которое и преобразуется измеряемая величина (сопротивление, ток или другое напряжение). Это напряжение превращается в некое число, например в диапазоне от 0 до 65535. Разработчики модуля позаботились о том, чтобы мы получали не это число, которое как-то надо обработать, а готовые данные в нужном нам формате.
Для этого надо выбрать конкретный тип датчика, который будет подключен к этому модулю и задать параметры «Ain.L» и «Ain.H» как нижние и верхние границы физической величины, которую меряет датчик в нужных вам единицах. Даю примеры, чтобы было понятно:
- Если наш датчик меряет температуру от -50 до +150 — то так и задавайте. Это как раз показано у меня на скриншоте;
- Если мы меряем давление датчиком от 0 до 10 бар (bar), то если мы хотим получить те же величины в ПЛК в барах — то задаём от 0 до +10.
- Если наш датчик меряет положение заслонки вентиляции (при помощи переменного резистора или энкодера внутри этого датчика), которая может открываться от 0 до 90 градусов и выдаёт нам эту информацию в виде напряжения 0..10V, то мы можем задать параметры как нам удобно. Если зададим от 0 до 100 — будем получать значение в процентах. Зададим от 0 до 90 — получим градусы. Зададим от 0 до 10 — получим вольты.
Фишка масштабирования именно в том, что модуль сам вычислит все пропорции и пересчитает реальные измеренные значения в наш диапазон, а мы получим всё готовенькое на блюдечке — то, за что многих осуждают, типа «ты ничего не хочешь делать, хочешь чтобы тебе готовенькое на блюдечке принесли» =)
Также модуль умеет фильтровать сигнал, отсеивая выбросы кривых значений-помех, корректировать показания датчика, сдвигая их влево или вправо по оси (прибавляя или отнимая указанное число от них) или корректировать их, меняя наклон характеристики (пропорциональность показаний датчика).
Обработка аналоговых входов: сдвиг и наклон характеристики
Дополнительно упомяну про хитрую фишку модуля аналоговых вводов. Он умеет автоматически компенсировать длину проводов к термодатчикам, если использовать трёхпроводное подключение датчика. Я упоминал про это в третьей части поста про щит в Папушево, где подключал такие датчики ДТС014 (точная модель — «ОВЕН ДТС014-50М.B.3.20/0,2 Датчик термосопротивления (50М, -50..+150 градусов, 3-проводная схема, 20 мм / провод 20 см)»).
Подключение датчика к кабелю МКЭШ: припаиваем остальные провода и экран
У таких датчиков от одного конца термосопротивления выведен один провод, а от другого конца — два провода. Измерительный модуль меряет сопротивление между двумя проводами датчика, соединёнными на его конце, а потом — между двумя проводами от самого термосопротивления датчика таким образом компенсирует сопротивление проводов.
После того, как мы сделали все настроки, неплохо было бы проверить всё это в работе. Для этого лезем в меню «Прибор => Состояние входов и выходов» и в онлайн-режиме следим за изменениями показаний датчика:
Тестируем правильность настройки модуля МВ110-8А для датчика ДТС014
Выше я говорил ещё и то, что модули могут отдавать информацию о состоянии своих входов. Модуль аналоговых вводов от ОВЕНа поддерживает такие состояния, которые возвращаются для каждого из каналов измерения:
- Датчик отключен (канал не работает);
- Обрыв датчика;
- Замыкание датчика;
- Измеренное значение слишком низко;
- Измеренное значение слишком велико;
- Ошибка АЦП или самого модуля.
Всё это не просто так, потому что если мы по нашему датчику следим за давлением или температурой, то значение «0» может привести к полному пиздецу: мы можем врубить насос повышения давления или нагреватель на бесконечную работу. Поэтому разработчикам надо следить за этим в их проектах. Я использую такие виды программных защит:
- Отслеживание состояния канала связи (RS-485 Modbus): есть ли ошибки связи, сколько штук устройств онлайн на канале. Если это не совпадает с тем, что должно быть — принимаем решение об ошибках;
- Отслеживание состояния конкретного модуля IO: если ли с ним связь, нет ли ошибок. Опять же, если что-то отвалилось — то принимаем решение о том, что показания с датчика не верны;
- Отслеживание состояния конкретного датчика (через те статусы, которые возвращает модуль);
- Отслеживание «нормальности» того, что мы намерили: если датчик давления воды в квартире с городским магистральным водопроводом показал нам 140 атмосфер, то это явно глюки: от такого все трубы уже давно разорвало бы. Ну или если датчик температуры улицы показал нам +200 градусов, то это или он горит пожаром, или у нас что-то не то с математикой.
Во всех этих случаях в моих проектах вместо показаний датчика выдаётся «Err», а то чем управляет этот датчик — отключается нахер.
Теперь поговорим о том, как работать с модулями IO этой линейки из CodeSys v2 (ПЛК110) и CodeSys v3 (СПК1хх, ПЛК210). Если знать, как описывать устройства Modbus в этих средах, то ничего сложного не будет. А под CodeSys v3 вообще есть шаблоны таких модулей.
Подробно добавление модулей и других Modbus-устройств было описано в давнем посте про CodeSys v2. В дерево конфигурации проекта мы добавляем ModBus Master и задаём для него интерфейс через который он будет работать (один из RS-485 или RS-232 через конвертер), а потом добавляем подэлеменеты «Universal Modbus device», также настраивая для них адрес (который равен адресу на модуле) и время опроса:
Добавляем устройство ModBus
Дальше идём в инструкцию на модуль (на примере модуля ввода на 16 каналов) и находим там таблицу регистров для этого модуля:
Пример регистров устройства из документации
Если мы хотим читать только состояние всех входов, то нам хватит всего одного регистра с адресом 51 (или 0x33). Если мы хотим читать счётчики импульсов по всем входам, то нам будут нужны регистры с адресами 64-79 (0x40 — 0x4F), которые идут по порядку и, следовательно, их можно прочитать одним общим запросом. Также нам указано и то, какими командами надо читать или писать регистры в этот модуль.
Кликаем на добавленном «Universal Modbus Device» правой кнопкой и добавляем подэлемент «Register input module»:
Добавляем регистр устройства в конфигурацию
Это — один регистр, который мы будем читать из модуля. В нашем случае это будет регистр с номером 51, а чтение мы будем делать командой 0x03:
Настраиваем адрес регистра и способ его опроса
Таким же образом мы добавляем все нужные регистры модуля, а потом привязываем к ним переменные, чтобы получать к ним доступ из программы нашего ПЛК. Переменные удобно привязывать двойным щелчком перед словами «AT Qxxx.xxx» в дереве конфигурации проекта (там видно пустое место, куда надо щёлкать). Просто вписываем туда наши переменные, и всё.
Вот переменные для модулей IO одного из моих проектов (около узла «ModBus (master)» есть возможность добавить переменные для диагностики всего канала Modbus целиком):
Дерево конфигурации ПЛК с CodeSvs v2.3 с описанием модулей IO ОВЕН Мх110
Здесь я, чтобы не возиться с Float (два регистра, из которых надо составить одно число), читаю три регистра на каждый канал модуля аналоговых вводов, как описывал ранее: Статус канала, Положение десятичной точки и само значение без точки.
Дальше я обрабатываю это значение такой функцией, и после этого получаю или температуру или код ошибки этого канала:
Пример функции для преобразования значения из модуля ОВЕН МВ110-224.8А в нормальный вид
Данные о входах, которые я прочитал одним общим регистром, можно разобрать при помощи работы с битами, обращаясь к ним через точки:
Пример работы в CodeSys v2.3 с битами и другими входными данными из модулей ОВЕН Мх110
Основные особенности работы с Modbus в CodeSys v2.3 следующие:
- Поддержки библиотек для модулей Мх110 нет. Все эти модули надо добавлять в проект руками, прописывая все каналы. Хорошо что хоть Ctrl-C/Ctrl-V есть =)
- Диагностика ошибок есть только на весь канал Modbus целиком. Поэтому можно получать лишь общую картину вида «Последняя ошибка» и «Последний адрес». Если ошибка не равна нулю, то в адресе будет храниться адрес текущего устройства. Их надо быстро успеть считать и обработать, так как при опросе следующего устройства последний адрес сменится.
- Есть работа только с командами для регистров. Работы с Coils нет (можно взять библиотеку работы с портами напрямую и написать свой опрос Modbus, но это будет нештатный способ).
- Читать и писать можно только один регистр поштучно. Прочитать регистры одним запросом разом кучей можно, но для этого нужно использовать ухищрение: читать их, используя модуль опроса STRING-канала. Натравливаем начало строки на первый адрес регистра, задаём длину чтения (размер всех решистров подряд) и получаем массив байтов, которые потом надо преобразовать в нужные данные самостоятельно.
- Скорость работы высокая: модули опрашиваются максимально быстро.
А вот в CodeSys v3.5 по сравнению с этим полный клондайк! Напишу все фишки сразу для сравнения с CodeSys v2.3:
- Опасное отличие в том, что в CodeSys v3.5 Modbus работает немного по другому (и медленнее, чем в CodeSys v2.3), и его надо более грамотно программировать и привязывать к задачам опроса. Вот как раз здесь ОЧЕНЬ важно количество модулей IO на шине: чем их больше, тем медленнее идёт опрос. Я расскажу про это подробнее, когда пост про Modbus напишу.
- Есть поддержка библиотек устройств. Теперь можно ткнуть «Добавить устройство» и выбрать готовенький модуль IO от ОВЕНа, получив с него все нужные данные, не забивая таблицу регистров модуля вручную.
- Можно просто добавить стандартное Modbus-устройство и напихать в него нужные регистры для опроса.
- Реализованы все команды для работы с регистрами: чтение запись их подряд, работа с Coils. Каждую команду на опрос (одну строчку в окне списка опрашиваемых каналов) можно посылать со своей скоростью. Например, положение десятичной точки у модуля аналоговых вводов считывать один раз в 20 секунд, статус канала модуля раз в одну секунду, а измеренное значение — раз в 5 секунд. И CodeSys это всё прожуёт на ура!
- Есть разбор данных на лету. Вы можете прочитать из устройства десять регистров, а привязать переменные к ним на выбор, как вам в голову стукнет:
- К массиву WORDов;
- К отдельным WORD’ам для каждого регистра;
- К отдельным битам отдельных WORD’ов.
- Есть крутая диагностика и управление устройствами на шине: для каждого устройства можно включить-выключить его опрос, поменять адрес, получить расширенный код ошибки типа «Кривой CRC», «Неверная команда», «Таймаут».
Итак, самое простое что можно сделать в CodeSys v3.5 — это добавить готовый модуль из ОВЕНской библиотеки. Слева в дереве проекта тыкаем мышкой на нужный Modbus-мастер и выбираем пункт «Добавить устройство». Нам открывается окно, где можно выбрать нужную модель модуля IO:
Добавление модуля из библиотеки ОВЕН в CodeSys v3.5
Тут же для этого устройства нужно задать понятное имя (если вы не делаете скриншот для блога, хехе), потому что имени этого устройства можно обращаться к нему, чтобы получать информацию о нём, например код ошибки:
Переменные для диагностики статуса работы устройства Modbus в CodeSys v3.5
После того как мы добавили модуль от ОВЕН из его библиотеки, открываем его двойным щелчком в дереве и переходим на вкладку «Соотнесение входов-выходов» (вообще, эти вкладки отображаются в окне модуля в виде левого меню, но для себя я перенастроил их на вкладки сверху).
В соотнесении, разворачивая нужные узлы, вписываем сюда названия переменных, которые надо привязать. Обратите внимание на работу с данными. Я могу получить всю маску входов одной переменной, а могу развернуть её и привязать булевые переменные сразу к нужным мне входам. Это очень круто!
Красиво оформленные значения модуля IO ОВЕН из библитеки CodeSys v3.5
Но у этой библиотеки есть один минус, который критичен для моих проектов: там нельзя настроить время опроса каналов модуля, которое задано жёстко на среднюю скорость. Если вы используете библиотеку для медленных проектов (например, модуля ввода сигналов от датчиков температуры или дискретные входы для медленно меняющихся сигналов, для которых задержка в 100 мсек — это нормально), то проблем не будет. А вот если вы грёбаный барабанщик и привыкли включать свет резким и коротким щелчком по кнопке, то ОВЕНская библиотека будет для вас слишком тормозной. Также библиотека опрашивает все каналы модуля целиком, что тоже тормозит обмен данными.
Поэтому не превозносите крутость библиотеки: за эту крутость придётся платить скоростью работы. В этом случае вам подойдёт обычный способ: добавить модуль ввода-вывода вручную, как обычное устройство Modbus (так, как мы делали на CodeSys v2.3).
Снова тыкаем мышкой на Modbus Master, выбираем добавление устройства, и выбираем «Modbus Slave» от «3S Smart Software»:
Добавление модуля в виде стандартного Modbus-устройства в CodeSys v3.5
Теперь нам надо добавить нужные регистры (каналы) чтения и записи из этого устройства. Делается это на вкладке «Канал Modbus Slave». Каждый канал (регистр) добавляется при помощи понятного окна:
Добавление одного из регистров стандартного Modbus-устройства в CodeSys v3.5
Здесь нам надо задать его имя (понятное для человека, в проекте не используется: можно писать на русском), команду чтения или записи, то как и чем запускать обмен по каналу (например циклично раз в 100 мсек или по флагу из программы ПЛК), ну и данные о регистре и их количестве для стения или записи, а так же то, что делать с данными этого канала, если устройство выпало в ошибку.
Тут поддерживаются все команды, какие хочется. Работа с Coils есть штатно, без извращений. Читать можно группы регистров подряд (указывается стартовый адрес и количество). В случае ошибок можно сохранять последнее значение канала или установить его в ноль (я ставлю так для своих проектов):
Возможности работы с регистрами Modbus-устройств в CodeSys v3.5
И точно так же, как и в библиотечном варианте, свои переменные мы можем привязать так, как нам удобно: к массиву, к регистру или к его битам. Охрененно круто!
Назначение переменных и работа с их значениями добавленных нами регистров в CodeSys v3.5
Этот способ работы с модулями IO от ОВЕНа — самый быстрый, потому что мы можем опрашивать только нужные нам регистры (а не читать их все), а также задать им нужное время опроса. Например, модулям вводов кнопок — самое быстрое, а модулям ввода сигналов с термодатчиков — самое медленное (раз в секунду).
Ну а дальше всё ничем не отличается от CodeSys v2.3. Вот, например, я обрабатываю данные от датчика WirenBoard, деля их на нужные коэффициенты:
Один из примеров обработки данных с каналов Modbus в CodeSys v3.5
3.3. Модули ввода-вывода ОВЕН Мх110 на 16 каналов (4 DIN-модуля).
Ну а теперь залезем внутрь этих модулей и посмотрим на то, как они внутри устроены! Начнём с модулей в корпусе на 4 DIN-модуля — на 16 каналов ввода или вывода.
До ~2017-2018 года модули выпускались в старых корпусах от Mitsubishi, которые выглядели странно и противно. Пузатенькие хреновины, прозрачные крышки, наклеечки на передней панели. Мне не нравилось ни фига:
После запуска ПЛК начинает опрашивать все внешние устройства
Народ жаловался на глючность этих модулей, да и самого ОВЕНа в целом. Ещё меня бесили светодиоды индикации работы каналов на модулях. Они все были красные, а цифры, которые подсвечивались светодиодами, были видны только в темноте и при высоком контрасте.
Красивая индикация выходов ПЛК
И вот дальше случилось чудо. ОВЕН взяли — и нахер полностью переработали всю линейку модулей Мх110 и заодно и ПЛК110, разработав свои корпуса, которые стали выглядеть охрененно стильно, удобно и красиво. И стали ещё чуть меньше по глубине, чем пузатики. И даже цвета светодиодов поменяли! Вау!!
Внешний вид модулей ОВЕН Мх110 на 16 каналов (4 DIN-модуля)
Модули стали работать ещё лучше и стабильнее, и жалобы на них ушли.
Изменилось и задумано следующее:
- Более приятный вид корпуса;
- Цвета светодиодов: питание и обмен — зелёные, авария модуля — красный, сигналы IO — жёлтые. Теперь, если в щите нет красного на модулях — то всё с ними хорошо;
- Маркировка на модули наносится лазером, а не наклейкой или краской. Это более долговечно и не сотрётся и не попортится. Сама маркировка стала более удобной, светодиоды индикации просматриваются более чётко, чем раньше.
- Надписи с назначением контактов модуля теперь перенесены на откидные крышки. Кто-то скажет, что это плохо так как крышка может отломаться. А мне нравится больше, так как теперь отвёртка, стоящая на винте контакта, «указывает» на назначение этого контакта на крышке.
Все модули имеют откидную крышку на коропусе, которая легко открывается даже тогда, когда модуль установлен в щите:
Обновлённый корпус модулей Мх110 имеет откидную крышку для доступа к перемычкам системных настроек
Крышка даёт лёгкий доступ к процессорной плате модуля и к тем самым перемычкам системных настроек (в том числе и режима заводских настроек параметров связи).
Модули ОВЕН Мх110 с открытыми крышками для доступа к перемычкам
Вот фотография съёмных клемм с посеребрёнными контактами (так было и на предыдущей версии модулей, а сами клеммы одинаковы для всей продукции ОВЕНа). Клеммы теперь доработали, сделав винты невыпадающими. На винты защёлкнуты пружинные шайбы. Теперь, когда ты выкручиваешь винт, он сам же тебе блок клемм и приподнимает.
Съёмные блоки клемм модулей ввода-вывода (удобные и доработанные)
На будущее ОВЕН подумывает о выпуске модулей с пружинными клеммами. Я подкинул им идею выпустить пружинную версию съёмных клеммных блоков и ничего больше не менять =)
Внутри модуль сделан так же — по схеме бутерброда, из нескольких плат. В самом низу находится блок питания модуля, посередине — плата IO, а сверху — процессорная плата.
Нижняя часть корпуса модулей ОВЕН Мх110: блок питания модуля (провода теперь на разъёмах)
Вот тут я разобрал модуль дискретнрых входов на его составляющие:
Разбираем весь модуль ввода ОВЕН Мх110. Виден корпус с блоком питания, плата IO и процессорная плата
Этот модуль имеет гальваническую развязку RS-485, которая сделана при помощи специальной микросхемы ISO7731 на трансивере THVD1500. А сами входы (с питанием напряжением «ДН») развязаны через четырёхканальную оптопару TLP290-4.
Гальваническая развязка RS-485 (ISO7731 + THVD1500) и входов (TLP290-4)
А вот и релюшки модуля дискретных выходов. Релюшки слабые и напоминают серию реле ABB CR-S (напоминаю пост про все реле ABB) с током 3..5А.
Реле в модуле вывода ОВЕН Мх110 на 16 каналов (МУ110-224.16Р)
3.4. Модули ввода-вывода ОВЕН Мх110 на 32 канала (8 DIN-модулей).
Модули ввода-вывода на 32 канала имеют два варианта питания: отдельно на 230 V AC и отдельно на 24V DC, и два вида: дискретные входы и дискретные выходы. Раньше я не любил эти модули, потому что они мне казались громоздкими. Но, хех, оказалось что я был не прав: они занимают 8 DIN-модулей (как два модуля по 16 каналов шириной в 4 DIN-модуля каждый), поэтому место в щите не теряется. А вот когда в проекте квартиры получается около 120 входов и 190 выходов — то там уже и начинаешь задумываться о том, как бы сократить число модулей IO в штуках, чтобы ускорить их время опроса.
Эти модули выделяются из общей линейки модулей ОВЕНа тем, что имеют большую потребляемую мощность: 20 ватт на модуль выходов и 25 ватт на модуль входов. Причём непонятно, почему входы жрут больше выходов, но это так (и я уточнял у ОВЕНа). По опрашиваемым параметрам (битовые маски, счётчики импульсов, Coils) — всё точно так же, как и у модулей на 16 каналов.
Все входы или выходы этих модулей также сгруппированы по 4 канала с общими SSx и COMx. Это отчётливо видно на крышках:
Модули ввода-вывода ОВЕН Мх110 на 32 канала и вид на их контакты, так же сгруппированные по SSx/COMx
Перемычки-переключатели системных настроек модулей находятся тут за маленькой дверкой. Дверка сделана удобно, и её тоже можно открыть даже тогда, когда модуль уже установлен в щит.
Вместо большой крышки, как у модулей на 16 каналов, тут есть дверца
Вот как это выглядит:
Под дверцей находятся переключатели системных настроек модуля
Внутри эти модули состоят из двух плат: верхняя — процессорная, а нижняя — со входами или выходами и, если надо, блоком питания модуля.
Платы дискретных входов (слева) и дискретных выходов (справа) модулей ОВЕН Мх110 на 32 канала
Дискретные входы развязаны очень по жёсткому, совсем брутально: резисторы ограничения тока, диодный мост и оптопара индивидуально для каждого входа. А между группами по 4 входа сделана защитная фрезеровка. Плата модуля большая, места много — вот можно развернуться =)
Развязка дискретных входов модуля МВ110-24.32ДН
Вот релейные выходы. Тут просто куча релюшек, и всё:
Выходные реле модуля МУ110-24.32Р
Прямо около контактов катушки каждого реле стоят защитные диоды, а между дорожками в узких местах платы (и группами по 4 реле) тоже сделана фрезеровка.
Разводка контактов реле МУ110-24.32Р (видна защитная фрезеровка групп по 4 реле)
Но самое интересное ждало меня на процессорной плате! =)) ОВЕН тут вжгли и сделали эту плату абстолютно универсальной по разводке дорожек и микроконтроллеру, который управляет модулем (использована AtMega 64).
Они просто взяли микроконтроллер, у которого есть дофига аппаратных линий IO, и у которого эти линии могут конфигурироваться как на ввод, так и на вывод (это есть у всех микроконтроллеров, но тут искали такой, чтобы всё IO шло сразу с микроконтроллера напрямую).
Если наша плата будет использована для модуля входов, то там не паяются транзисторы управления реле, но зато в некоторых местах паяются резисторы и перемычки. Пины микроконтроллера настраиваются на входы, и через напаянные резисторы и перемычки на них подаются сигналы с платы оптопар.
Универсальная плата модулей IO Мх110 на 32 канала: в режиме входов транзисторов нет, стоят резисторы и перемычки
А если нам нужен модуль дискретных выходов, то мы напаиваем на эту же плату транзисторы для управления реле и резисторы в других местах, а эти же самые пины микроконтроллера настраиваем на вывод.
Универсальная плата модулей IO Мх110 на 32 канала: в режиме выходов стоят транзисторы и резисторыдля них
А ещё, раз размер платы позволил, тут сделали самую треш-брутальную развязку RS-485: поставили DC-DC преобразователь с изоляцией B0505XT-1WR3, а после него — всё тот же набор из изолятора ISO7731 трансивера THVD1500.
Гальваническая развязка RS-485 модулей IO Мх110 на 32 канала: DC-DC преобразователь и те же ISO7731 + THVD1500
Помните, я писал о том, что вот эта самая развязка стоит не дешёво? Вот давайте приценимся ради прикола (цены взяты из Electronshik.ru):
- B0505XT-1WR3 = 136 рублей;
- THVD1500 = 48 рублей;
- ISO7731 = 300 рублей.
Итого вся развязка обходится нам в 484 рубля. И это при том что даже самый главный микроконтроллер модуля — AtMega 64A — стоит около 200-400 рублей. Вот так-то! И все самодельщики или производители модулей на этом и экономят, если могут.
И напоследок заметьте, что на плате есть очень много тестовых, контрольных точек (позолоченные кругляшки), которые стоят по всем сигнальным дорожкам. Это значит что плата тестируется на автоматической станции для контроля качества. КРУТО!
3.5. Модули ввода-вывода ОВЕН Мх110 с аналоговыми входами .8А (4 DIN-модуля).
В 2020 году я добавил в этот пост фотографии модулей аналогового ввода-вывода (про аналоговый ввод-вывод читайте в этом посте). Начинаем с самого универсально — модуля ОВЕН МВ110-224.8А.
Модуль универсальных аналоговых входов ОВЕН МВ110-224.8А
Этот модуль имеет восемь входов, каждый из которых может быть настроен на измерение сопротивления, термодатчиков (термосопротивления, термопары), сигналов 0..1V (не путать со стандартным 0..10V!) и 4..20 мА. А если ОЧЕНЬ надо — то вход можно настроить на сухой контакт. Все значения по всем входам могут масштабироваться так, чтобы на выходе модуля было значение в нужных единицах измерения (атмосферы, проценты, метры).
Внутри у модуля всего две платы: блок питания и основная плата модуля.
Модуль универсальных аналоговых входов ОВЕН МВ110-224.8А (вид внутри)
На верхней плате находится основной процессор модуля и АЦП.
Модуль универсальных аналоговых входов ОВЕН МВ110-224.8А (основная плата)
В в этом модуле АЦП — один на все входы, так как он очень дорогой (а если ставить дешёвые — то мы не получим точность в 0,25%). Поэтому входы подключаются к АЦП последовательно друг за другом, и он их меряет тоже последовательно (по 0,5-0,8 секунды на вход). Входы, которые не используются, можно отключить в настройках модуля для того, чтобы сократить время опроса остальных входов.
И, самое главное: так как АЦП тут один — то если вы подадите какое-то неверное напряжение на любой из входов — то вы спалите АЦП целиком, и работать не будут все входы. Такова плата за универсальность входов и дешевизну модуля. Если вам нужна скорость — то используйте скоростной модуль .8АС, который будет стоить примерно в два раза дороже.
RS-485 тут выполнен с развязкой на базе всё той же микросхемы ISO7731:
Микросхема развязки интерфейса RS-485 (8631)
Эти модули я вовсю использую в своих щитах для работы с термодатчиками ДТСххх или датчиками давления ПД100.
3.6. Модули ввода-вывода ОВЕН Мх110 с выходами 0..10V .6У (4 DIN-модуля).
Теперь посмотрим на модуль на 6 выходов с напряжением 0..10V ОВЕН МУ110-224.6У (снова напоминаю ссылку на пост про аналоговые сигналы):
Модуль аналоговых выходов 0..10V ОВЕН МУ110-224.6У
Сигналы 0..10V я очень часто использую для управления яркостью светодиодных лент, диммирования света при помощи сетевых диммеров Finder 72.01.8.240.0002 или управления термоголовками Oventrop. С ними очень удобно работать: 0 вольт = 0%, 10 вольт = 100%.
Модуль аналоговых выходов 0..10V ОВЕН МУ110-224.6У (процессорная плата)
Модуль имеет универсальное питание: 24V DC или 230V AC.
Модуль аналоговых выходов 0..10V ОВЕН МУ110-224.6У (блок питания)
Так же, как и другие модули аналоговых сигналов, этот модуль имеет развязку интерфейса RS-485 на ISO7731:
Микросхема развязки сигналов RS-485 ISO7731 и драйвер RS-485
Но самая главная фишка этого модуля — это то, что для каждого выхода есть отдельная плата с отдельным ЦАП (цифро-аналоговым преобразователем):
Платы с ЦАПами аналоговых выходов: на каждый выход - отдельный ЦАП
Вот здесь, образно говоря, можно убивать выходы по отдельности: сгорит только одна плата, а остальные останутся работать. Более того — каждый выход такого модуля имеет своё отдельное питание и полностью развязан от остальных выходов! Посмотрите на схему подключения:
Схема подключения выхода 0..10V для модулей ОВЕН Мх110
На каждой плате стоит свой ЦАП — микросхема с логотипом Analog Devices:
Плата ЦАП выходов 0..10V: со стороны ЦАПа (видна микросхема от Analog Devices)
Каждая плата имеет свой отдельный стабилизатор питания, а цифровые сигналы управления на ЦАП (наверное SPI или I2C) развязаны через оптопары!
Плата ЦАП выходов 0..10V: со стороны питания (видны оптопары развязки управляющей шины на ЦАП)
Модуль сделан круто и сурово! Кстати, раз уж мы затронули эту тему, то надо сказать что такое же решение используется в ОВЕНских ПР200 (пост про их аппаратную часть), где на каждый выход тоже стоит своя отдельная плата (две платы посередине фотографии):
Средний слой плат ОВЕН ПР200: интерфейсы RS-485 и аналоговый ввод-вывод
3.7. Модули ввода-вывода ОВЕН Мх110 для измерения параметров электросети .1М и .3М (1,5 и 6 DIN-модулей).
Теперь поговорим про модули ввода (измерения) параметров электросети: однофазный МЭ110-224.1М и трёхфазный МЭ110-220.3М. Обратите внимание на следующие особенности:
- Модули имеют ОТДЕЛЬНОЕ питание! Это не реле напряжения (все посты про них), где питание происходит от того же напряжения, которое измеряется! Здесь модуль получает отдельное «чистое» питание, а меряет то, что подано на входные клеммы.
- Токи эти модули всегда измеряют через трансформаторы тока с выходом в 5А. Напрямую померить силовой ток не получится.
- Однофазный модуль имеет универсальное питание 230V AC или 24V DC (что удобно для щитов с ПЛК, где основное питание — 24V DC), а трёхфазный — только 230V AC.
- Трёхфазный модуль рассчитан на измерение данных о трёх фазах сразу целиком и использовать его как три однофазных входа не получится (например, из-за того что у всех трёх вводов ноль — общий). Так что если вам надо померить три фазы по отдельности — возьмите три однофазных модуля.
Начнём изучать самый простой и удобный (по моему мнению) однофазный модуль.
Модуль ввода параметров однофазной электросети ОВЕН МЭ110-224.1М (вид спереди)
Схема подключения модуля похожа на схему измерителей ОВЕН КМС-Ф1, которые я использовал в щите в Папушево: ноль сети и один из выводов трансформатора тока соединяются вместе и подключаются на контакт «11», фаза сети подаётся на контакт «12» (цепь измерения напряжения можно защитить предохранителями), а второй вывод трансформатора тока — на контакт «10».
Модуль ввода параметров однофазной электросети ОВЕН МЭ110-224.1М
Клеммная колодка у этого модуля несъёмная, поэтому для замены придётся отключать все провода. Зато ширина этого модуля — всего 1,5 DIN-модуля, что очень компактно.
Модуль ввода параметров однофазной электросети ОВЕН МЭ110-224.1М (вид на клеммы, несъёмные)
Модуль имеет интересное устройство и корпус: всё собрано на двух платах, спаянных вместе, а внешние клеммы модуля подключаются через ножевые контакты, припаянные на плату.
Модуль ввода параметров однофазной электросети ОВЕН МЭ110-224.1М (внутреннее устройство)
На плате модуля размещены блок питания со всей обвязкой, микросхема-изолятор RS-485 (интерфес имеет гальваническую изоляцию) и измерительные цепи. Посмотрите, СКОЛЬКО на плате защитных зазоров!
Модуль ввода параметров однофазной электросети ОВЕН МЭ110-224.1М (основная печатная плата)
Цепь измерения тока тут представляет собой суровый шунт на 0,005 Ом, к которому идут широкие и позолоченные дорожки:
Измерительный токовый шунт и позолоченные дорожки. Выглядит круто!
Ядром модуля является крутая микросхема ADE7763, которая используется в том числе и в счётчиках электроэнергии, обеспечивая высокую точность измерений.
Микросхема Analog Devices ADE7763, на базе которой построен измерительный модуль
Вот так выглядят три модуля, установленные рядом в одном щите:
Модули ОВЕН МЭ110-224.1М в электрощите (по штуке на фазу)
Трёхфазный модуль МЭ110-220.3М выглядит более брутально и жирно, поэтому я и не люблю его использовать. Если в проекте достаточно подсчитать напряжения и токи по фазам отдельно без вычисления угла между ними, то я ставлю три однофазных модуля отдельно.
Модуль ввода параметров трёхфазной электросети ОВЕН МЭ110-220.3М
У него суровые винтовые клеммы, куда подключаются сигналы тока и напряжения по каждой фазе.
Модуль ввода параметров трёхфазной электросети ОВЕН МЭ110-220.3М (клеммы подключения)
Вот так можно подключить этот модуль в щите (из проекта щита на ПЛК ОВЕН от 2016 года):
Кабель МКЭШ 10x0,75 и модуль ввода параметров сети ОВЕН МЭ110-220.3М
Модуль состоит из двух плат, установленных друг на друга. Верхняя плата — процессорная, и там нет ничего интересного:
Модуль ввода параметров трёхфазной электросети ОВЕН МЭ110-220.3М (процессорная плата)
А вот нижняя плата как раз и содержит всю обвязку для измерения напряжений и токов.
Модуль ввода параметров трёхфазной электросети ОВЕН МЭ110-220.3М (измерительная плата)
Интерфейс RS-485 модуля снова имеет полноценную гальваническую развязку, как и должно быть:
Микросхема развязки сигналов RS-485 ISO7731
А все параметры меряет микросхема ADE7878 от Analog Devices, которая также используется в трёхфазных электросчётчиках.
Микросхема Analog Devices ADE7878, на базе которой построен измерительный модуль
Напряжение меряется при помощи гасящих резисторов. Чтобы резисторы не пробило (так как расстояние между их выводами небольшое), они разделены на 4 резистора меньшего номинала (чтобы в сумме получился один нужный):
Модуль ввода параметров трёхфазной электросети ОВЕН МЭ110-220.3М (узел измерения напряжения)
А токи меряются компактными трансформаторами (или шунтами?) тока:
Модуль ввода параметров трёхфазной электросети ОВЕН МЭ110-220.3М (узел измерения тока)
Теперь вы понимаете, почему мне нравятся модули от ОВЕНа 110ой серии, и почему я так дико исхожу пеной у рта и ору о том, что я даже слушать и видеть не хочу небольшие семейства контроллеров типа Ab-Log, WirenBoard или поделки на Arduino и прочих? Ещё раз повторяю: взять микроконтроллер, накидать туда программу (или скетч) для реализации Modbus и щёлканья релюшками может любой — этих библиотек навалом в сети. А вот сделать так, чтобы это работало надёжно, не глючило и было удобным в использовании с точки зрения корпуса, клемников, группировки IO, номиналов реле может не каждый.
И ругаюсь я на Wiren или Ab-Log как раз за то, за что хвалю ОВЕНа. Вот что я ненавижу:
- Отсутствие единой документации. Например у Wiren (я упоминаю про них, потому что тестирую их датчики сейчас, а потом тоже сделаю длинный пост) вся документация раскидана по их Wiki и свёрстана так, что её даже не распечатать в PDF нормально. В поле, без инета онлайн ты её не посмотришь.
- Никто не думает о развязках или защите от помех. У WirenBoard есть модули на внутренней шине контроллера. Ну так они у себя там даже рекомендуют их ставить в стиле «сначала эти модули, затем те, а иначе будут глюки».
- Модули разрабатываются иногда с приколами вида «мы решили, что так будет всем лучше». Я вычитал на форуме WirenBoard, что они решили сделать всем добра и поставили параллельно выходным реле в своих модулях управления рольставнями/жалюзями ВАРИСТОРЫ, сцуко! Мало того, что эти варисторы где-то будут нахер не нужны на каком-то другом напряжении, которое будет проходить через реле (это ж сухой контакт, его как угодно можно подключить), так ещё оказалось что иногда эти варисторы пробиваются, замыкая выход модуля.
- Нет конфигуратора или удобного способа настройки модулей. У тех же Wiren или RazumDom настройка сводится к «запишите в регистры модуля маску 16-ричных чисел, чтобы сменить его скорость» (напоминаю пост про RazumDom, где я показывал это). А WirenBoard на полном серьёзе зашивает на заводе в свои модули или датчики РАЗНЫЕ адреса (а не один заводской стандартный, как у ОВЕНа или RazumDom), а поиск неизвестных адресов (если модуль IO был снят с какого-то из проектов или наклейка с адресом утрачена) предалагет делать скриптом командной строки, который будет пытаться коннектиться ко всем возможным адресам.
- Нет никаких диагностических светодиодов, а если они есть (как у RazumDom), то они находятся где-то там внутри корпуса, на печатной плате модуля, как и кнопка возврата к заводским параметрам. Зато есть то, что я больше всего не могу на дух переносить — это ебучие красивые наклейки с логотипами прямо на передней панели модулей, которая торчит из щита. Как раз там, где должна быть индикация, мать её.
Поэтому я считал и буду считать, что вот такие вот «штучки» — дерьмо, и что для меня они неудобны, некрасивы и нефункциональны.
4. Линейка модулей ввода-вывода ОВЕН Мх210 с интерфейсом Ethernet.
Модули ввода-вывода ОВЕН Мх210 с Ethernet
Вот вы думаете, что я всегда буду фанатом ОВЕНа и буду хвалить его? А это не так: у меня есть вещи, которые мне нравятся, и есть вещи, которые мне не нравятся. Вот как раз новые модули Мх210 мне не понравились и я считаю их неудачной линейкой. Сейчас я расскажу вам про них максимально честно и не предвзято, а в конце поста расскажу про их глюки.
Эти модули задуманы с интерфейсом Ethernet и выходом в ОВЕНское облако, а также другие протоколы, которые используются для интернета вещей — типа MQTT. Также задумка модулей была в том, что ещё больше увеличить плотность монтажа в щитах по сравнению с модулями Мх110 и сократить место, которое будет занято этими модулями.
Интерфейс Ethernet в модулях был заточен под новый ОВЕНовский ПЛК — ПЛК210-CS (это не имени меня, а имени CodeSys), который выполнен в том же корпусе, как и модули ввода-вывода Мх210 и умеет работать с сеткой, выполненной по топологии «Кольцо» (RSTP) для большей её надёжности. Вообще, концепт ПЛК210 в том, что у него внутри есть роутер, и им можно роутить две сетки: одну строго внутри щита (без внешних витых пар и шкафов СКС) для модулей IO, а вторую, внешнюю — для выхода щита в интернет, внешнюю сеть, программирования ПЛК. И ещё и Firewall’ить её на полную. Шоб не зломали =)
Вот краткий список особенностей и возможностей модулей IO линейки Мх210:
- Поддержка работы по Ethernet с адресацией по статическому IP или по DHCP. Протокол работы модуля — Modbus TCP, порт обмена — 502 (стандартный). На каждом модуле есть два разъёма Ethernet, чтобы можно было соединять модули друг за дружкой, а не ставить в щит свитч. Если питание модуля отключается, то эти разъёмы аппаратно соединяются между собой внутри модуля;
- RS-485 нету (а могли бы и сделать универсальный модуль);
- Модули теперь сами могут ходить в инет на ОВЕНское облако и отсылать туда данные. Для этого им надо настроить туда доступ. Ещё они ходят на гугловские DNS… =)
- Значительно снижена потребляемая мощность до 4-7 ватт против десятков ватт у линейки Мх110, а напряжение питания расширено до диапазона 10..40V DC. Модулей с питанием на 230V AC нет;
- Могут конфигурироваться по сети Ethernet или по USB-кабелю (для этого надо установить драйвер на компьютер), есть штатная программа-конфигуратор, которая теперь поддерживает функцию «Проект»: можно добавить сразу несколько модулей в один общий файл;
- Наконец-то есть крутая индикация состояния аналоговых входов светодиодами на модуле: зелёный — вход в порядке, красный — замыкание или обрыв датчика;
- Есть встроенные резисторы для аналоговых входов 4..20 мА, которые раньше требовалось ставить отдельно и следить за тем, чтобы цепь резистора «источник питания — датчик 4..20 мА — резистор параллельно входа модуля» не обрывалась, ибо в этом случае напряжение питания датчика выжигало нежный аналоговый вход.
Однако, от дураков не застрахованы и новые модули Мх210: если вы подключите датчик 4..20 и не включите резистор, то тоже всё сожгёте нахрен; - Есть встроенные часы реального времени (работают от батарейки) и есть возможность ведения архива данных прямо внутри самого модуля аппаратно. Потом этот файл архива можно прочитать через OwenCloud (облако), программу-конфигуратор или через команды Modbus. То есть, в принципе, такие модули можно использовать как небольшие автономные регистраторы: настроил через конфигуратор, поставил на объекте, подал питание — а потом читай себе архивы;
- Обозначаются теперь модули цифрами, а не буквами. Это непривычно и путает. Вот вам говорит что-то типа «МВ210-101» или «МВ210-202» или «МУ210-402». О чём это? В старой линейке с их «МВ110-224.8А» или «МК110-224.8ДН.4Р» было понятнее: 8 аналоговых входов или комбинированный модуль: 8 дискретных входов с питанием напряжением и 4 релейных выхода;
- Остальные фишки те же: режим аварийного (безопасного) состояния выходов и самого модуля (этот режим теперь есть во всех модулях, а не только в модулях вывода), съёмные клеммные колодки для контактов, куча индикаторных светодиодов на все случаи жизни;
Основное и важное отличие от модулей линейки Мх110 — это другой взгляд на группировку линий дискретного IO. Если в Мх110 все такие линии были собраны в группы по 4 канала, и их можно было питать и использовать как нравится, то в новых модулях ОВЕН сделал по другому:
- Все входы в пределах одного модуля теперь имеют один общий SS без разделения на группы. Для простых случаев, когда нам надо завести кучу контактных датчиков или кнопок управления светом, это очень удобно: не надо через каждые четыре контакты делать перемычки на SS в пределах одного модуля.
Но вот если нам вступит к такому модулю на 20 входов подключить штуки три датчиков протечки с выходами типа «ОК» — то пиши пропало: надо или весь щит (или модуль) переводить на управление по GND (а не по +24V), или заводить под эти три датчика отдельный модуль или три отдельных и никак не связанных с собой блока питания… - С выходами сделали наоборот: теперь выходы сгруппированы или по две штуки или по одной штуке. Если мы хотим все выходы использовать под щёлканье релюшками или контакторами, то число перемычек (чтобы подать одно и то же питание на эти выходы) возрастёт в 2-4 раза). Если же, наоборот, мы хотим чтобы три выхода управляли напряжением 230V, один — 12V, два — 5V, а ещё три — 28V — то в этом плане в новых модулях сплошное раздолье, и ситуаций как с модулями Мх110 вида «Ой, надо было два выхода от 230V, взяли группу на 4, а свободные два нафиг не нужны» уже не будет.
Если сказать кратко, то линейка Мх110 очень маленькая по габаритам, неприхотливая, не перегружена функциями, но заточена строго под RS-485. Её можно легко установить в небольшие бытовые щиты глубиной от 120 мм (серии ABB AT/U, ABB Mistral IP65, ABB B, ABB TwinLine глубиной в 225 мм).
Новая линейка Мх210 имеет узкую ширину, но требует шкафов большей глубины и много свободного места вокруг себя, критична к положению установки в шкафах (чтобы модуль хорошо охлаждался) и имеет большую кучу наворотов, которые могут создавать проблемы. Например, батарейки часов в модулях раз в несколько лет менять. Также, если вы хотите «просто пощёлкать релюшками для света», вам понадобится ставить кучу перемычек на питание выходов модулей, что может быть не сильно удобно для сборки щита. Поэтому я бы сказал так, что место этим модулям — в промышленных шкафах или распределённых система автоматизации, которые работат по LAN. Но и иногда голый RS-485 всё-таки быстрее, чем Modbus TCP, пущенный через кучу свитчей и роутеров.
4.1. Корпус и форм-фактор модулей ОВЕН Мх210.
Итак, давайте глядеть на наших подопытных. В собственных руках у меня есть два модуля: МВ210-101 (8 универсальных аналоговых входов) и МК210-302 (12 дискретных входов с одним общим SS и 4 релейных выхода с отдельными выводами от каждого реле). Их я могу хоть разломать на обзор, хоть распилить болгаркой (как счётчик пилил со злости) =) Вот с них мы и начнём =)
Размеры новых модулей просто адски гигантские. Я, когда увидел их, почти сразу понял что это не модули для моих щитов, потому что даже в TwinLine глубиной 225 мм они встали еле-еле, если говорить о сборке не щита по схеме «Монтажная панель и перфокороб», а на системе CombiLine: так, чтобы спереди щита всё было закрыто пластронами, а сзади за DIN-рейками были фиксаторы проводов.
Габаритные размеры модулей Мх210 очень большие, и они встанут не во все привычные нам щиты
Если сранивать новую линейку модулей с модулями Мх110, то тут тоже можно увидеть, что новые модули гораздо больше.
Габаритные размеры модулей Мх210 очень большие, больше чем у модулей Мх110
К чему это приведёт, если монтировать модули в ABBшный CombiLine? А вот к проблемам, потому что Ethernet у этого модуля подводится с верхнего торца, и для этого в щите надо оставить ещё больше свободного места по вертикали. Таким образом, если модули Мх110 можно было поставить в щит с расстоянием между DIN-рейками в 150 мм, модули Мх210 потребуют отвести пространство в 1,5 (а лучше две) такие рейки без вариантов: иначе Ethernet просто некуда будет подключать.
Глубина для этих модулей тоже требуется большая. Вот фотка WR-рамы с таким модулем для примера. Здесь DIN-рейка опущена по глубине на положение «-1,5», а ведь за рейкой надо ещё фиксаторы проводов поставить… Что же останется от глубины шкафа?
Тестовая установка модуля ОВЕН Мх210 под пластрон щита ABB CombiLine. Регуляторы глубины рейки стоят в положении -1,5 единиц
Гадит по глубине ещё и ПЛК210 из-за того, что у него есть два разъёма Ethernet на передней панели — то, где у Мх210 крышка. Как только ты туда что-нибудь втыкаешь (а обычно это разъёмы для WAN), то всю рейку с ПЛК надо опускать на 20 мм глубже. В промке над этим будут смеяться, а в квартирном щите за такое убьют.
Поэтому ещё раз напоминаю вам, что собирать квартирные и коттеджные щиты на таких модулях мне кажется излишним: они просто раздуют шкаф по высоте, из-за чего ожидаемая плотность монтажа снизится, а не увеличится, как думал ОВЕН.
Давайте помозгуем про эту плотность. Итак, модуль дискретных входов Мх210 модели «МВ210-202» имеет 20 входов с одним общим SS и занимает две DIN-рейки в стандартных шкафах по высоте и 2,5 DIN-модуля по ширине. Модуль дискретных входов Мх110 модели «МВ110-224.16ДН» имеет 16 входов с четырьмя общими SS и занимает одну DIN-рейку по высоте и 4 DIN-модуля по ширине.
Если сранивать только ширину модулей, то Мх210 выигрывают: на 2,5 DIN-модуля в щите мы имеем аж 20 входов. Но по высоте-то мы заняли аж две DIN-рейки в стандартном щите!!! То есть, сожрали 5 модулей. А на самом деле — сожрали ещё одну DIN-рейку целиком, потому что её придётся вообще выкидывать из шкафа, чтобы модули встали по глубине нормально. Значит, в этом плане плотность монтажа у нас получается в 20 входов на 2,5 + 2,5 = 5 DIN-модулей.
Второй неприятный момент с этими модулями — это то, как они выпускаются по числу IO. Самыми удачными вышли модули на 20 дискретных входов (но с одним общим SS), и модуль на 8 аналоговых входов. А вот по дискретным выходам получается хрень. Модули МУ210-401 имеют 8 выходов и занимают 2,5 DIN-модуля на рейке и, если ими набрать те же 16 выходов, как у Мх110, то будет 5 DIN-модулей высотой в две DIN-рейки (против одной у Мх110). А модули МУ210-402 на 16 и МУ210-403 24 выхода, блин, самые жирные — занимают уже 5 DIN-модулей (и те же две рейки по высоте), вне зависимости от числа выходов.
Короче, про Мх210 можно сказать так: это только промщиты больших размеров. Главное их удобство (сомнительное для меня) — много не связанных друг с другом дискретных выходов (не сгруппированных по 4 штуки как в Мх210). В моих проектах мне это всё не годится и даже мешает, и мне удобнее и приятнее компактная и более простая и надёжная как лом линейка Мх110.
Сбоку на модулях нанесена вся необходимая маркировка: напряжение питания, потребляемая мощность, заводской серийник, дефолтные настройки сети.
Сбоку модулей Мх210 нанесены их настройки сети по умолчанию
Сверху модулей есть откидные крышки, под которыми находятся клеммники для подключения всех цепей модулей и канал для укладки проводов к ним.
Все контакты для подключения цепей расположены у модулей Мх210 сверху за откидной крышкой
Когда я первый раз это увидел, мне это очень понравилось, и я внутри себя начал испытывать сложные чувства к этим модулям: одна половина моей интуиции тихо шептала мне, что верхняя крышечка очень милая и классно придумана, а другая нагло орала, что модули слишком глубокие, нагружены всякими облаками, Ethernet’ами, в них ещё и батарейка есть, и что в щитах они займут дофига места.
Справа по всей высоте модуля установлены световоды для индикаторных светодиодов. То, какие из них будут использованы, зависит от модели модуля.
Модули линейки Mx210 имеют кучу индикаторных светодиодов (даже для аналоговых линий IO)
В самом верху модуля есть четыре индикатора, которые показывают состояние следующих узлов модуля: наличие питания, Ethernet 1, Ethernet 2, переход модуля в аварийный режим работы (отвалилась связь с ПЛК).
Обозначения контактов теперь есть и около самих контактов модуля, и на откидной крышке. Это тоже хорошо: помните, я писал что если в Мх110 крышка будет сломана, то назначение контактов (если не смотреть в инструкцию) больше узнать будет неоткуда. Тут и это учтено:
Назначение контактов IO нанесено как на откидной крышке, так и около самих контактов
Клеммные колодки съёмные, так же с невыпадающими винтами. Сейчас ОВЕН начал торговать этими колодками под все свои изделия отдельно (Мх110, ПЛК110, Мх210), что мне тоже очень нравится: можно их покупать, делать всякие тестовые стенды для подключения разных экземпляров модулей одного типа. Круто!
Все клеммные блоки также сделаны съёмными, как и в модулях Мх110
На другой стороне модуля нарисовано то, какие провода к нему надо подключать и в каком виде. Написано, что подключать можно или моножилу без наконечников, или многопроволочную жилу в наконечниках НШВИ. Указана длина провода в 6 мм, которая не соответствует заводской длине наконечников НШВИ в 8 мм. Ну, это пофиг.
Шунтирующие резисторы для входов 4..20 мА теперь встроены в модули и включаются по желанию
Для модулей аналогового ввода там же, сбоку, установлены те самые переключатели шутнирующих резисторов для входов 4..20 мА. Решение спорное. Такое ощущение, что их поставили куда смогли, потому что для перенастройки модуля (да, это маловероятно в промке) понадобится снимать модуль из щита. Но — тут нам съёмные клеммы помогут!
В верхней части модуля находится разъём для подачи питания и два разъёма Ethernet:
В верхней части модулей находятся разъёмы для подачи питания и Ethernet
Также видны красивые квадратные отверстия для охлаждения модуля, но их сделано мало, потому что из-за большой плотности монтажа внутри модуля всё свободное место там занимает плата с электроникой. Поэтому у этих модулей есть только одно рабочее положение: строго вертикально. Не забывайте об этом!
Вот то, о чём говорил ранее — про то, как разъёмы Ethernet сжирают ещё около 40 мм места сверху модуля. Сами соединительные шлейфики Ethernet идут по одной штуке с каждым модулем в его заводской упаковке.
Кабели Ethernet добавляют модулям ещё больше габарита по высоте: около 40 мм
Поэтому-то и не получится упихать эти модули в стандартный шкаф на одну DIN-рейку по высоте. Им понадобится строго две DIN-рейки. Поэтому, когда вы будете проектировать шкафы с этими модулями, учитывайте место вокруг них!
4.2. Конфигурирование модулей ОВЕН Мх210 и работа с ними через ПЛК.
Для настройки модулей линейки Мх210 ОВЕН сделал отдельную программу-конфигуратор, главное неприятное неудобство которой на мой взгляд — это то, что ради красивого интерфейса её написали на .NET, и она сильно разжирела и стала требовать больше и больше ресурсов. К сожалению и грусти это сейчас повсеместный тренд: раньше мы чуть-чуть больше думали и на базе MFC/ATL писали объект «Дерево + Таблица» (вот примеры из CodeProject: первый и второй), а сейчас не паримся, берём библиотеку, которая требует кучу фреймворков и других библиотек. Про это уже даже на хабре пишут.
Что бы сделал я (да-да, я прям такой адский командир — властный перфекционист, как меня один камрад с блога обозвал)? Переработал бы весь конфигуратор без .Net на обычный VC++ современной версии под 32 или 64 бита и выпустил бы одну программу с плагинами или модулями под разные устройства ОВЕНа (начало уже положено ОВЕНом в этом конфигураторе). Пускай функции вида «добавить устройство», «создать список устройств» будут сделаны один раз в программе, а при помощи плагинов (или например XML-описаний) она будет подгружать список параметров и настроек для каждого конкретного продукта ОВЕНа. И дальше развивать именно эту программу, добавляя туда новые фичи и новые описания продуктов.
Текущая версия нового конфигуратора мне НЕ нравится, причём именно окошками: такое ощущение, что их проектировали те, кто умеет верстать HTML/CSS, а не диалоги программ под винду: некоторые окна то слишком пустые, а то настолько перегружены параметрами, что открываются аж за пределы экрана.
Итак, чтобы подключить модуль к компьютеру, теперь есть два способа. Можно подключиться к модулю по LAN, настроив на компьютере в свойствах сетевого адаптера IP-адрес из диапазона подсети модуля. А можно подключиться по USB-кабелю, установив драйвера: тогда модуль будет виден как виртуальный COM-порт.
Оказалось, что второй способ проще и удобнее: не надо отключать собранную в пределах щита сетку, не надо постоянно бегать в свойства адаптера и менять IP-адрес то на дефолтный (чтобы подключиться к очередному новому модулю для его настройки), а то на адрес модуля, который мы задали только что. Когда мы подключаемся к модулю по USB, то сам модуль может легко находиться в работе и в сетке: это не будет мешать работе конфигуратора.
Но я выбрал способ подключения по Ethernet, потому что хотел поиграть во взрослость =) Адрес по умолчанию для всех модулей Мх210 — это 192.168.1.99. Чтобы подключиться к модулю, нам надо выставить на компе адрес из того же диапазона, но отличающийся от адреса модуля. Я взял адрес 192.168.1.10:
Настройка модулей Мх210 через Ethernet: задаём на компьютере адрес из диапазона дефолтного
Запускаем конфигуратор и в верхнем меню выбираем пункт «Добавить устройства». У нас открывается вот такое вот окно, на дизайн которого я и ругаюсь:
Настройка модулей Мх210 через Ethernet: ищем модуль по его IP-адресу и добавляем в проект конфигуратора
В этом окне можно выбрать интерфейс, по которому мы будем подключаться к модулям или другим устройствам: Ethernet или COM-порт (виртуальный через USB). В зависимости от того, какой интерфейс выбран, слева в списке появляются поля или для настроек скорости и параметров связи по COM-порту, или для ввода диапазона IP-шников, по которым надо будет искать модули IO.
После того, как поиск модулей выполнен, надо отметить нужные нам галками и нажать кнопку «Добавить устройства», которую я обрезал в скриншоте, потому что окно ОГРОМНОЕ!!
Чёрт, поругаюсь. Причина этого — кривая вёрстка самого окна. Параметры связи с модулями сделали в столбик слева, а список найденных модулей — справа. В списке есть колонки, поэтому ширина списка должна быть большой, чтобы все их было видно. А много пространства слева требуется из-за того, что в зависимости от того, как мы будем подключаться к устройству (Ethernet или USB-COM-порт), там меняется количество полей настроек параметров связи.
Ругаюсь дальше фразой из фильма «Убрать перископ» в вольном пересказе: «Чечевица, ты что делаешь мать твою! Как ты раскладываешь консервы? И чем мы по-твоему будем чаще пользоваться? Кофе или свиным салом? Ты думаешь, мы будем вставать утром с постели и выпивать чашечку крекого горячего ароматного свиного сала?» ©. Вот чем мы будем пользоваться в конфигураторе чаще? ОГРОМНЫМ списком найденных модулей или припрятанными слева параметрами связи с ними?..
Что предлагаю я по этому окну: редизайнить его, разделив не горизонтально, а вертикально. Пусть список найденных модулей будет находиться в нижней части окна на всю его ширину, а сверху окна в фиксированной высоте будут находиться поля для настроек подключения. Причём часть этих полей можно использовать повторно. Например, вместо групп полей «Найти несколько устройств» и «Найти одно устройство» сделать раскрывающийся список с этой опцией, и после него справа оставить два поля для диапазона адресов. Если выбран режим «Найти одно устройство», то поле конечного адреса просто становится недоступным.
Тексты тоже надо сократить. Например вместо «Начальный IP-адрес» и «Конечный IP-адрес» надо написать так: «Адрес IP: начальный» и «конечный». Ширину полей тоже ужать: ведь у нас есть один на всю Windows системный размер шрифта, у нас используются адреса IP v4. Сцуко, текст в этом поле никогда не будет длиннее чем «255.255.255.255». Захер его делать в два раза длиннее?
Короче, я побаловался и нарисовал окно так, как я его себе представляю. Качество херовое, потому тут был принтскрин на принтскрине — я вырезал кусочки полей и текста из исходного окна, кадрировал их и переставлял в Visio. Пофиг, главное понятен сам концепт:
Альтернативный вариант окна добавления устройств в конфигуратор ОВЕН Мх210
Вот ВСЕ грёбаные поля я подогнал по ширине так, чтобы она соответствовала максимуму того, что в них можно ввести. Например, скоростей больше 115 200 тут точно не будет. Нафиг делать широкое поле для них? Поля «Начальный/конечный адрес» можно использовать как и для IP-адресов, так и для обычных Modbus-адресов. А в списке интерфейсов сначала надо ставить номер порта, а потом его название, типа «COM3: ST Miscroelectronics Virtual COM Port». Тогда этот список можно не увеличивать по ширине, а информация (номер порта) в нём будет нормально читаема.
Идём далее. В новом конфигураторе появилось понятие «Проект». Это очень удобно и это то, чего не хватало предыдущему конфигуратору для Мх110: теперь можно добавить ВСЕ модули ввода-вывода, которые у нас есть (даже удалённые и работающие по сетке) и сохранить этот проект одним файлом.
Проект конфигуратора Мх210 с несколькими добавленными в него модулями
Слева в главном окне конфигуратора находится список наших устройств, а сверху на панели инструментов (которая отжирает тонну места на экране из-за модного нового мать его стиля — риббона) можно давать конфигуратору разные комнады. Например, выдать список того, что показывает модуль или посмортреть информацию о нём.
Если рассматривать панель инструментов конфигуратора, то можно найти недоступную кнопку «Дублировать значения». Если вы заорали «О, счастье! Теперь можно продублировать настройки одного входа/выхода в модуле на все остальные такие же», то ХЕР ВАМ: эта кнопка копирует настройки одного модуля IO в другой, а не настройки каналов IO в пределах одного модуля. А ведь нужна и такая функция, потому что дальше вы увидите, что как только ОВЕН отказался от обычного дерева для отображения параметров, щёлкать мышкой стало нужно гораздо больше.
И про это дерево-таблицу я тоже буду жёстко ругаться. Если в конфигураторе Мх110 для вывода параметров использовалось обычное дерево Windows (TreeView), которое работало быстро и автоматически (на уровне поддержки операционной системы) имело свои хоткеи («+» — открыть узел, «-» — закрыть узел, «*» — открыть все подчинённые узлы), то эта блядская таблица в новом конфигураторе ВООБЩЕ не реагирует на клавиатуру (да блин тут даже некоторые окна на Esc не реагируют, а кнопки «Закрыть» не имеют — например окна параметров устройства и информации об устройстве).
А второе дерьмо этой всратой таблицы параметров в том, что в ЛЮБОЙ ячейке — даже в той, где находится нередактируемый текст (например название группы параметров или одного параметра или его единица измерений) этот самый текст можно выделить мышкой. Правила разработки интерфейса программ требуют, чтобы одинаковые по логическому назначению элементы вели себя одинаково. Вот над всеми полями, где можно ввести текст, указатель мыши в Windows меняется на вертикальную палочку — для выделения текста в поле. И мы интуитивно знаем, что сюда можно вводить текст. Но если это текстовое поле будет отключено (disabled), то указатель мыши не будет меняться и останется обычной стрелочкой.
Наш пользователь благодаря этой фишке интуитивно знает: «Вот сюда можно ввести текст», «А сюда нет — можно только щёлкнуть мышкой». Так какого же чёрта эта таблица курсором и тем, что там можно выделять текст (но не редактировать его) во всех ячейках интуитивно «подсказывает» нам о том, что мы можем работать с текстом в каждой ячейке-то? Пиздец!
И всё это было бы полбеды, но чтобы открыть или закрыть группу параметров — надо очень ТОЧНО ловить мышкой маааленькую стрелочку слева и нажимать только на неё. Жмёшь на ячейку с названием группы — ничего не происходит. Делаешь двойной щелчок на этой ячейке (мало ли, заложили такой функционал) — тоже ничего не происходит, только текст выделяется, который редактировать нельзя. Только хардкор, только где-то там на улице, среди мороза и кабелей надо будет именно мышкой ловить эту ебучую стрелочку!
Да, да, блин, я ПРОТИВ такой разработки ПО! Все новые фреймворки приводят к тому, что разработчики забывают стандартный функционал, который стандартен для всех виндовых приложений. Нахер тут не нужна эта всратая таблица как элемент, при помощи которого выводится информация! Или пусть её дорабатывают так, чтобы можно было работать на объекте в полевых условиях удобно, или пусть возвращают нормальное дерево и вообще переписывают этот конфигуратор на VC++ на примерах с CodeProject.
Мы теперь умеем делать пиздатые окошки и крутилки-индикаторы загрузки, а расположить нормально элементы на форме — не умеем, сделать функцию копирования параметров — не можем, ОСТАВИТЬ стандартную реакцию на мышь и кнопки — не можем, потому что скорее всего эта ебучая таблица написана в этом фреймворке с нуля, и наверное те, кто её писал, забыли это реализовать. Или она просто дико ущербная как всратый StringGrid из Delphi лохматых годов.
Выяснилось, что эта таблица — это сторонний компонент. Как я и предполагал, разрабы ОВЕНа стали пленником этого компонента, и теперь думают что делать, потому что отказаться от компонента будет не так-то просто.
Вот воистину, это пиздец! Сначала сами же усложним себе задачу и наделаем себе геморроя, а потом будем в проге ставить костыли, потому что продукт выпустили и переделывать поздно. Я блядь больше чем уверен, что прогеры на эту таблицу навесят обработку события типа «MouseDblClick» с проверкой, что если текущая ячейка — самая левая с названием группы параметров, то по этому событию её надо открыть или закрыть. На какое-нить событие типа «KeyPress» навесят проверку кода символа «*» и открывание всех подчинённых узлов таблицы (и потом эта таблица будет глючить на обработку символа «*» в тексте, а не при нажатии кнопки). И так и будем мы с этим костылём жить. А ведь в штатном TreeView это и так всё есть. И всё, что надо было изучить — это стиль «OwnerDraw» этого дерева, который позволяет перехватывать штатную отрисовку TreeView виндой и в эти моменты рисовать там всё, что надо. Можно и линии нарисовать, и колонки, и элементы там разместить (примеры с CodeProject я приводил выше, и их там полно под все версии VC++ и даже .Net).
Фуххх! Высказался!
Идём далее и первым делом настраиваем новые параметры связи для Ethernet: выставляем нужные нам IP-адреса, шлюз и маску. Я настраивал эти модули для щита в Солнечногорск, про который вы прочитаете далее в этом же посте. ПЛК210 у меня тут LANом опрашивает модули IO в отдельном сегменте сети (в пределах щита), а WANом смотрит во внешнюю сетку (вне щита).
Задаём сетевые настройки для модуля Мх210 в его конфигураторе
В новом конфигураторе все параметры, которые ты изменил, теперь подсвечиваются зелёным. Это приятно и хорошо: сразу видишь, где что менял.
Настроим всем входам антидребезг:
Задаём настройки дискретных входов для модуля Мх210 в его конфигураторе
Вот где сгодилась бы функция копирования параметров из одного IO в другой. Почему не сделать такую фичу: выбрал несколько одинаковых элементов, нажал кнопку «Скопировать из», выбрал из вылезшего окошка элемент-источник данных, и вуаля. Было бы дерево, как в конфигураторе для Мх110 — так можно было бы нажать «*», открыть все параметры разом, прокликать их быстро мышкой. Но нет же — тут мы ловим эту ёбнутую стрелочку, жмакаем на неё, потом видим как у нас дерево делает крутой эффект «Slide», и потом тупим, почему в какой-то из ячеек таблицы курсор ведёт себя как для работы с текстом, но ничего нельзя изменить, а в другой — ведёт себя точно так же, но там можно поменять значение.
Для модуля аналогового ввода параметры настройки те же, как и для Мх110: границы масштабирования реального значения, параметры цифрового фильтра, положение десятичной точки.
Задаём настройки аналоговых входов для модуля Мх210 в его конфигураторе
Точно так же в новом конфигураторе есть режим проверки того, что выдаёт модуль. У меня получилась хрень какая-то, хоть датчик я подключил верно и настройки дал верные.
Мониторинг состояний входов в конфигураторе Мх210 (показания странные)
Переходим к тому, как работать с этими модулями из CodeSys v2.3 (ПЛК110) и v3.5 (СПК1хх/ПЛК210). После того, как в разделе про Мх110 я рассказал подробно про работу с регистрами в обоих версиях CodeSys, я расскажу отличия или особенности работы с Мх210.
Для этих модулей ОВЕН разработал шаблоны к обоим версиям CodeSys. Шаблоны для CodeSys v2.3 просто добавляют нужное описание устройства и его регистров в окно конфигурации ПЛК. Поэтому можно считать, что тормозов из-за обработки данных они не добавляют — это просто удобная вбивалка всех параметров в конфигурацию ПЛК. Это… а почему же так не сделали для Мх110? Гм… вообще, я кажется разобрался в том, как это делается и смогу написать это под CodeSys v2.3 =) Займусь этим после того, как выложу этот пост.
Ответ от ОВЕНа про шаблоны для Мх110: давно были шаблоны под ещё более старые модули, но ими никто не пользовался, их убрали из таргетов. Я себе сам тогда сделаю, да =)
Шаблоны для Мх210 в CodeSys v3.5 работают точно так же, как шаблоны для Мх110: они дают дофига сервисных функций и удобную обработку данных и управление модулем, но работают медленнее, чем если бы мы напрямую опрашивали регистры.
Собственно, для того чтобы вносить модули Мх210 в проекты на CodeSys v2.3 и v3.5, нам надо научиться добавлять устройства Modbus TCP, а не RS-485, потому что остальные принципы работы с этими устройствами такие же, как и с устройствами Modbus RS-485: добавляем нужные регистры и берём с них данные.
Чтобы завести Modbus TCP в CodeSys v2.3, надо сделать несколько хитрых манипуляций. Вначала добавляем такой же Modbus Master, как и для RS-485, но интерфейс, через который он работает (то, где мы выбирали RS-485), меняем на «Empty» вот так:
Процесс настройки Modbus TCP в CodeSys v2.3: меняем слот интерфейса на пустой
Это необходимо для того, чтобы логически разделить все интерфейсы Modbus друг от друга и ПЛК на этом интерфейсе не пытался отправлять данные туда, куда ему не надо.
Дальше добавляем в проект или ОВЕНский модуль из библиотеки или «Universal Modbus device» и меняем их настройки на работу по Modbus TCP так, как показано на скриншоте снизу (а в библиотеке всё уже сделано за нас):
Процесс настройки Modbus TCP в CodeSys v2.3: параметры устройства Modbus TCP
Параметр NetMode (режим работы сетки) ставим в значение «TCP», чтобы ПЛК коннектился к этому устройству именно по Modbus TCP. Проверяем TCPport: этот порт должен соответствовать тому, на каком порту работает наш модуль. Стандартный порт для Modbus TCP — 502. Если вы меняли его у своего модуля, то поменяйте и здесь.
Ну а самое главное — это правильно задайте IP-адрес модуля, так как в CodeSys v2.3 части адреса вводятся через двоеточие, а не через точку, как мы привыкли. То есть, адрес «192.168.1.99» должен быть записан как «192:168:1:99». На этот косяк многие нарываются, а потом ругаются что у них ни фига не работает. И, напоследок, задаём ещё и внутренний адрес модуля, который чаще всего везде равен единице. После этого ПЛК установит связь с этим модулем IO и будет его опрашивать так же, как и другие Modbus-устройства.
Для CodeSys v3.5 всё сделано более технично. Там есть узел «Ethernet» (вы можете переименовать его как вам нравится), и он один на весь проект: вам не надо мутить что-то со слотами интерфейсов для Modbus TCP.
Мы под этот узел добавляем Modbus TCP Master, а дальше при помощи той же команды «Добавить устройство» — или модули IO из библиотеки ОВЕН, или устройство Modbus TCP Slave, куда вручную добавляем нужные регистры (у меня так измерительный модуль ABB CMS по Modbus TCP подцеплен к домашнему ПЛК).
Добавление устройства Modbus TCP Slave в CodeSys v3.5
Библиотека для модулей Mx210 у ОВЕНа ещё круче, чем для модулей Мх110: тут ещё и настройки параметров самих модулей IO есть, прямо в ПЛК!
Пример окна настроек шаблона модуля ввода-вывода Мх210 в CodeSys v3.5
Это такие вот фишки в CodeSys v3 появились: разработчик библиотеки может не просто сделать описание регистров, а добавить свои страницы или диалоговые окна прямо в интерфейс CodeSys. Это очень круто, и эта среда разработки мне дико нравится!
И точно также, как и для всех Modbus устройств, в конечном итоге мы можем добавить наши переменные в каналы:
Пример окна переменных шаблона модуля ввода-вывода Мх210 в CodeSys v3.5
4.3. Внутреннее устройство модулей ОВЕН Мх210.
Ну а теперь начинаем изучать новые модули и то, как они внутри устроены. Берём наш модуль дискретных входов и выходов (МК210-302) и делаем ему Explode!
Разбираем модуль ОВЕН Мх210 МК210-302
Модули, которые имеют ширину корпуса в 2,5 DIN-модуля внутри сделаны на конструкции из двух плат, которые соединяются друг с другом и потом вставляются в корпус по специальным направляющим. Решение отличное и классное!
Вся начинка модуля МК210-302 собрана на одной общей плате. Справа - процессор и обвязка Ethernet, слева - реле выходов и батарейка для часов
На верхнем фото мы можем разглядеть реле дискретных выходов, батарейку для часов реального времени, DC-DC преобразователь для питания модуля. Большой синий конденсатор на фотке заслоняет нам самую интересную часть: узел обвязки Ethernet-разъёмов и релюшки, при помощи которых модуль отключает себя от сетки.
Реле дискретных выходов немного другие. Как я не пытался выкрутить фотку, нормально обозначения не видно, поэтому я напишу их здесь: OMRON G5NB-1A4 с катушкой на 5V DC и номинальным током контактов в 5 А для AC-1.
Выходные реле модуля МК210-302
Сзади плата модуля набита очень плотно, но около реле есть защитная фрезеровка (это хорошо).
Задняя сторона платы модуля ОВЕН МК210-302
Ради доступа в сеть и работы с облаком и другими протоколами в модуль воткнули мощный проц STM32F207VCT6. Вокруг проца распихана куча других микросхем и мелких деталей и я, может быть наивно, вопрошаю себя: а стоит ли то, что получилось в конечном итоге с этими модулями, таких вот усилий по распихиванию начинки на плату?
Идём далее! Теперь заглянем в узел обвязки разъёмов Ethernet. Когда я первый раз включал модули в щите, который я собирал на них, я слышал какое-то пощёлкивание у них внутри. Не особо задумываясь поначалу, я решил что это какое-то переключение питания в модуле или что-то подобное.
Но потом, даже до того как вскрыл модуль на посмотреть, догадался! Это щёлкали релюшки, которые отключают Ethernet от модуля и замыкают два разъёма между собой, если питание модуля отключается.
Обвязка Ethernet модулей ОВЕН Мх210. Видны реле, которые соединяют Eth 1 + Eth 2, если питание модуля пропало
Как вы помните, порты Ethernet нельзя соединять друг с другом параллельно, как сигналы в электрике. И даже если у вас всего два порта, то технически вам всё равно понадобится ставить сетевой коммутатор (свитч). Если питание этого коммутатора будет отключено, то сеть работать не будет. А так как основное предназначение модулей Мх210 — это работа в общей сети вместе с ПЛК210 и так как модули заточены для работы по сети без внешнего свитча (за счёт двух разъёмов Ethernet они соединяются друг за другом), то ОВЕН и придумал нормально замкнутые релюшки, которые накоротко соединяют два разъёма Ethernet 1 и Ethernet 2 вместе, если модуль обесточен.
Гыгыгыгы!!! Идея эта не нова, и когда-то, когда я админил на Фабрике АБТ (вот посты по тэгу), я выдумал отключалку LAN от сервера, шобы его LAN отключался физически и нельзя было понять того, что на таком-то кабеле висит какой-то выключенный комп. Вот, почитайте, поржите про эту штуку!)
Я не спец в схемотехнике, поэтому у меня есть вот какие вопросы по этому узлу. Почему-то мы топим за промышленный Ethernet, а в комплекте к модулю идут неэкранированные соединительные хвостики. При этом разъёмы Ethernet на модулях сами по себе экранированные. А куда тогда этот экран цеплять-то? По идее для него должен быть отдельный вывод, который надо по желанию цеплять на PE или FE, если мы вдруг захотим использовать экранированные патч-корды. А то кааак пойдёт по ним силовой аварийный уравнивающий ток, если где-то PE отвалится… =)
И вот чёрт побери… ну не нравится мне то, как тут всё напихано. НЕ НРАВИТСЯ! Такое ощущение, что ребята из ОВЕНа сначала придумали классный корпус, а потом уже пытались распихать начинку по плате так, чтобы она туда влезла.
Защитная фрезеровка вокруг выходных реле модуля ОВЕН МК210-302
4.4. Монтаж модулей ОВЕН Мх210 в щитах: подводные камни и неудобства конструкции.
Чем дальше в лес — тем гуще партизаны! © Вот чем я больше знакомился с этими модулями, тем меньше я радовался, а больше матерился. Сейчас я расскажу вам про то, как я монтировал их в щите для Солнечногорска и что из этого вышло. Обратите внимание на то, что я занимаюсь сборкой щитов для частных домов, коттеджей и квартир и имею наработанный опыт по монтажу модулей Мх110 и разводке проводов к ним. Этот мой опыт применим для тех шкафов, которые собираю я: мне нужна небольшая глубина и компактность монтажа; в промке же даже глубина шкафов всегда больше, чем в моей нише.
Итак, как вы помните, клеммная колодка для подключения всех сигналов модуля стоит вертикально, а для того чтобы подводить к ней провода, слева у модуля есть специальный канал. Вот то, как ОВЕН представляет себе монтаж этих модулей (пример на сайте):
Пример монтажа проводов к модулям ОВЕН Мх210 от самого ОВЕНа (идеальный)
Прямо красотища! Все провода подходят строго с одной стороны, собраны в аккуратный жгутик. Класс!
Вот фотография одного из шкафа с модулями Мх210 от одного из участников форума ОВЕН. Смотрите, как классно: сверху к модулям идёт питание и Ethernet, а снизу — все провода, собранные в спиральные оплётки.
Пример монтажа модулей ОВЕН Мх210 с форума ОВЕНа (промышленный шкаф большой глубины)
А вот и красивая фотография моего щита в Солнечногорск: модули Мх210 и ПЛК210.
Мой монтаж модулей ОВЕН Мх210 в шкафу ABB TwinLine 412G (225 мм глубиной)
А теперь… теперь я расскажу вам, в каких выражениях и сколько раз я матерился на эти чёртовы «каналы для проводов» в этих модулях! Гладко было на бумаге, мать её, а в реальности — херово.
Вводные данные для моего случая будут следующие:
- Все модули и их входы питаются от одного блока питания на +24V DC;
- В пределах одного модуля все выходы имеют один источник питания (то есть, все COM’ы всех выходов надо запитать от одного напряжения);
- Стандартный провод для разводки по щиту у меня — это 0,75 кв.мм. Он отлично влезает в модули Мх110, даже с наконечниками НШВИ(2) и я не задумывался о том, что надо ещё больше снижать сечение;
- Технически разводка питания выходов в пределах одного модуля у меня делается шлейфом: от щитового кросс-модуля приходит питающий провод, идёт на COM первой группы выходов, потом на COM второй группы и так далее;
- Сверху и снизу модулей я ставлю перфорированный короб, чтобы спрятать все провода туда;
- В данном щите модули сожрали место в две DIN-рейки по высоте из-за своих габаритов и Ethernet-разъёмов.
Итак, мы начинаем. У меня есть ПЛК и несколько модулей входов, на контакты «SS» которых мне надо подать GND, чтобы входы активировались от +24V. Гмм… Ну наверное это глупо — вести к SS каждого модуля отдельный провод? Ведь в каждом модуле всего один такой контакт, и их можно развести шлейфом.
Взял я НШВИ(2) для такого дела, и начал его вставлять в контакт модуля… А он туда не лезет! Нет, не своей металлической частью, а юбочкой. Когда модуль IO стоит отдельно как на фотке у ОВЕНа, то слева есть место для пальцев, которыми мы держим наш наконечник.
Неудобства монтажа модулей ОВЕН Мх210: если они стоят в общем ряду, то сложно подсовывать НШВИ с проводом в клемму
А если модули стоят вплотную, то стенка соседнего модуля мешает пальцам нормально залезть в канал для проводов и протолкнуть наконечник в клемму. Конечно же, можно оставить промежутки между модулями в щите, но как же тогда быть с высокой плотностью линий IO, ради которой и были разработаны эти модули? И ведь мои пальцы — не толстые как сосиски!
Второе дерьмо, которое выясняется в процессе живого монтажа — это, что если НШВИ вставлен в нижний ряд клемм, то он перекрывает собой половину канала для проводов и ещё и закрывает собой маркировку контактов, которая нанесена в нижней части канала для проводов.
Неудобства монтажа модулей ОВЕН Мх210: если они стоят в общем ряду, то сложно подсовывать НШВИ с проводом в клемму
Тут вы скажете мне примерно так: «Слышь, придурок! Ну и что тебе мешало завести SS отдельным проводом на каждый модуль отдельно, а не шлейфом его тащить и с НШВИ(2) себе головную боль устраивать?» и будете правы.
Да, я умею делать мини-кросс-модули для низковольтного питания в щитах из клемм, соединённых перемычками (из поста про разработку щитов на ПЛК «Цена одной строчки»):
В некоторых местах щита понадобятся кросс-блоки для распределения питания
На модулях ввода, у которых тут только один контакт SS на весь модуль, такое решение прокатит.
А теперь разведём питание +24R («+24 V Relay») на выходы модуля (в данном случае ПЛК). И вот тут-то идея с тем, чтобы питать каждый выход отдельным проводом, не прокатит. Потому что проводов будет МНОГО, и они просто не влезут в каналы модуля, мать его!
Поэтому делаем грёбаный шлейф. Так как COM’ов у выходов почти нет (каждый выход как на Logo имеет два контакта), то шлейф получается вот такой:
Неудобства монтажа модулей ОВЕН Мх210/ПЛК210: из-за меньшей группировки выходов (без COMов) приходится делать длинные шлейфы из НШВИ
И теперь коронный номер монтажного кунг-фу. Как только шлейф из НШВИ(2) был закручен в клеммы модуля, то оказалось что НШВИ(2) сожрали 2/3 места в канале для проводов, и его почти не осталось!
Неудобства монтажа модулей ОВЕН Мх210/ПЛК210: шлейф на выходы из НШВИ(2) перекрывает все надписи сигналов и мешает другим проводам
Тут вы снова скажете мне: «Ты сказочный идиот! Нахера ты полез сюда с проводом в 0,75 квадратов! Надо было брать на 0,5 квадратов».
Не вопрос! Берём НШВИ на 0,5 квадратов и закручиваем для теста. И что мы видим? Да то же самое: длина юбочки у них одинаковая. Нет, сцуко, вы только зацените то, как юбочки двойных НШВИ сожрали место в канале для проводов. Это жесть:
Неудобства монтажа модулей ОВЕН Мх210/ПЛК210: переход на НШВИ 0,5 квадратов не решает неудобств монтажа
Ещё раз, факты:
- Юбочки НШВИ и НШВИ(2) наконечников на 0,5 и 0,75 квадратов имеют почти одинаковые размеры;
- Если подрезать НШВИ или НШВИ(2) по длине короче, то одинарный НШВИ влезет в клеммы модуля, а двойной НШВИ(2) упрётся юбочкой в перегородку между клеммами. Поэтому НШВИ(2) укоротить по длине мы не можем;
- Юбочка НШВИ(2) занимает половину ширины канала для проводов. Ещё четверть ширины занимает провод, который идёт между соседними НШВИ(2).
Я не понимаю, как ОВЕН мог упустить это при разработке корпусов! Что они — проектировали корпуса для идеальных условий, когда туда идёт мало проводов? Или когда под каждый контакт модуля надо закручивать только один провод, а все шлейфы делать вне модуля? Не высока ли «плата» за монтаж?
Но в реальной жизни это НЕ ТАК! И нормально разложить провода удаётся в двух вариантах: или извращаться с разводкой щита так, чтобы провода подходили к модулю равномерно с двух сторон (но в примерах ОВЕНа этого нету, хехе), или брать модули IO шириной в 5 DIN-модулей, как МУ210-402/403. Там — свобода-а-а:
Более-менее просторный монтаж в модулях ОВЕН МУ210-402/403: тут есть больше места для проводов
Что я хочу сказать, если без иронии? То, что в этой линейке модулей их достоинства уничтожаются их недостатками. Например, зачем было гнаться за увеличением плотности IO на модуль, если его не получается нормально смонтировать, и если этот модуль жрёт место в щите по вертикали из-за конструкции корпуса?
Я бы сказал, что самая главная ошибка у ОВЕНа в разработке модулей Мх210 — в ширине корпуса: если бы он был бы чуточку пошире, то и внутри на печатной плате не надо было бы так ужиматься, и канал для проводов был бы шире. Ему не хватает вот буквально всего лишь 5-7 мм по ширине!
Сейчас эта ошибка вынуждает нас и рейки в щите по высоте тратить, и мудохаться с подводом проводов в щите к модулю.
Вот я взял ОВЕНский ПЛК210 и развёл часть его IO. И что? Все провода лежат плотно, И ЗАКРЫВАЮТ СВОЮ ЖЕ МАРКИРОВКУ!! Аааа!!!
Неудобства монтажа модулей ОВЕН Мх210/ПЛК210: провода в канале модуля лежат плотно, закрывая обозначения IO и даже свою маркировку
А дверка уже закрывается еле-еле!
Неудобства монтажа модулей ОВЕН Мх210/ПЛК210: из-за кучи проводов крышка не закрывается плотно, как должна
А вот разводка того самого модуля IO на 20 входов. Тут ещё лучше видна жопа с проводами!
Неудобства монтажа модулей ОВЕН Мх210/ПЛК210: в модуле входов МВ210-202 провода мешают друг другу
Последствия косяка с корпусами в том, что все гибкие жгуты проводов или кабелей на поворотах занимают БОЛЬШЕ места, чем на прямой трассе. Это происходит из-за того, при повороте провода немного накладываются друг на друга и это место утолщается. В ГОСТах на СКС из-за этого даже короба для витой пары проектируются так, чтобы они были заполнены на 40..60%.
А у нас тут все 20 проводов идут прямо, заходят в канал — и каждый из них поворачивает на свою клемму. А посмотрите на маркировку. Куда её девать? Она закрывает друг друга нахер. А ведь смысл маркировки как раз в том, чтобы она находилась на концах провода или линии, а не где-то внутри перфокороба валялась. Да и достать какой-то провод из середины клеммника тут будет сложно: нужно будет открыть перфокороб, вытянуть и разворошить весь жгутик.
Вот месиво проводов, которое получилось в процессе разводки модулей дискретных входов. Выглядит даже красиво, но маркировки не видно, а дверки модулей — на пределе.
Процесс сборки щита на модулях ОВЕН Мх210: месиво проводов
И опять красота достигается только в широких модулях дискретных выходов:
Процесс сборки щита на модулях ОВЕН Мх210: более-менее нормально с модулями МУ210-402/403
Получается, что задумка с узким корпусом балансирует где-то на грани фола. Корпус узкий, но чтобы нормально подвести к нему провода, надо выполнить кучу сложных и муторных условий. С Мх110 было проще, потому что там все клеммы стояли не ребром, а вдоль модуля, и провода заходили в эти клеммы без поворота, напрямую.
А после того, как мы развели все линии IO, разведём-ка Ethernet. И не забывайте: у нас шкаф средней глубины и перфокороб 60х60 вокруг модулей.
Процесс сборки щита на модулях ОВЕН Мх210: разводка Ethernet добавляет сложностей, места мало
Разъёмы питания модулей оказываются в совсем дальней заднице и передёргивать их неудобно. Ну и один из разъёмов Ethernet тоже спрятан под перфокоробом.
Прежде чем вы скажете мне «так поднял бы короб повыше», почитайте дальше. Вот сейчас под эти модули в щите отведено пространство в две DIN-рейки по вертикали. ДОКОЛЕ? Что мне, увеличивать его до трёх реек по вертикали? Таковой будет плата за удобство подключения разъёмов Ethernet и проводов к модулю? Что все там говорили про компактность новых модулей? Боком она вылезает, боком!
А потом мне понадобилось снять один из модулей IO (дальше вы узнаете, почему). Вот тут-то я и обломался с разводкой проводов с двух сторон!
Процесс сборки щита на модулях ОВЕН Мх210: попытка снять один из модулей из щита
Что я там говорил про провода? Что чтобы канал для проводов в модуле не был забит до отказа, провода надо подводить к модулю с двух сторон. Но, ха-ха-ха-хах, как только вы решите снять клеммы с модуля с такой разводкой, то окажется, что эти клеммы будут притянуты проводами к модулю сверху и снизу!!!!
У меня сверху приходил только один питающий провод, а снизу шли все отходящие провода. И вот чтобы снять этот клеммник, мне понадобилось сильно вытягивать провода из перфокороба, потому что клеммники надо очень сильно отвести в сторону от модуля, чтобы его вытащить. А что было бы, если бы провода шли двумя большими пучками с двух сторон, а модуль был бы узкий? Ооох!
Процесс сборки щита на модулях ОВЕН Мх210: пришлось вытянуть все провода, чтобы снять модуль
Подбиваем итоги:
- Наконечники НШВИ(2) закрываются 2/3 нижней части канала для проводов и заодно маркировку контактов модуля. Если не использовать их, а питать каждый канал индивидуально, то это в полтора-два раза увеличит количество проводов к модулю, и они не влезут в канал. ЫЫы!
- Поворачивая из вертикального канала к горизонтальным клеммам провода занимают на чуточку больше места. Когда это место суммируется, то начинаются проблемы =)
- Места для маркировки проводов — нету. Мне везёт, потому что моя маркировка плоская от WAGO. А как быть тем, у кого она в виде трубочек или колечек с цифрами?
- Если мы хотим равномерно использовать канал для проводов, то надо подводить провода к модулю в этом канале с двух сторон. В этом случае сложнее будет снимать клеммный блок для быстрой замены модуля.
- Надо не забывать про разъёмы Ethernet сверху модулей. Для них тоже понадобится добавить свободного места.
А какова плата за все эти сложные требования к разводке? В чём фишка? В облаке и архивах данных модуля? В батарейке, которую надо будет менять (прикиньте, через 5 лет менять по всем модулям — снимать колодки, открывать модуль, закрывать, ставить колодки клемм)? В плотности монтажа, которой нет? В одном общем SS на все входы модуля (и что входы ОК так просто не подключить, если весь модуль активируется по +24V)? В том, что не везде есть гальваническая развязка?
Вот не знаю… не лежит у меня душа к этим модулям и я не хочу их использовать в своих проектах. Чем больше наворотов — тем больше глюков и меньше надёжность. Ну а то, зачем я снимал этот модуль, вы щас узнаете, так как история на этом не заканчивается!
5. Проблемы с работой модулей ОВЕН МУ210-402/МУ210-403: зависание от помех.
Модуль ОВЕН Мх210 МУ210-403: изучаем его, чтобы понять причину глюков
Итак, прошло время. Собрал я щит в Солнечногорск, подал питание на модули, загрузил ПЛК210, настроил там кольцевую топологию сети RSTP и начал смотреть на то, как весело мигают светодиоды обмена на ПЛК и модулях IO. И пошёл спать, испытывая удовлетворение от своей красивой работы.
За следующие дни я написал небольшую программу для работы с этими модулями и начал тестировать то, как они управляют импульсными реле в щите. Да-да! Это тот щит, концепты которого обсуждались несколько лет назад (а потребовался он только сейчас): перехват управления светом на ПЛК. Если ПЛК отключен, то кнопки подключаются напрямую к импульсным реле в щите. А если ПЛК включен — то кнопки активируют входы ПЛК, а импульсные реле управляются уже от самого ПЛК по более сложным сценариям.
И вот запускаю я свою программу. Понимаю, что ошибся, правлю, запускаю ещё раз. Правлю мелкие недочёты и идеи. И наконец жму на кнопку управления светом. Урааа! ПЛК сообразил и перещёлкнул импульсное реле через модули IO! УРА! Работает! Ну-ка пощёлкаем ещё… Опаньки! А чего это всё перестало работать? ПЛК, что ли завис? А чего это модуль мигает красным светодиодом? Чего это он в аварийное состояние выпал-то? Ну-ка я ему питание передёрну! Не отзывается. А если всему щиту?..
Да. Fucking Shit Happens! Повторяемость результата была близкой к 100%: как только начинаешь щёлкать импульсными реле, то отваливается модуль дискретного вывода, который ими управляет. А дальше почему-то нахер рушится всё кольцо RSTP и иногда подыхают остальные модули IO. Работа восстанавливалась только полным перезапуском всей системы по питанию. Иногда было ещё смешнее: я перезапускал ПЛК, он загружался, читал состояние реле из RETAIN-переменных, щёлкал реле, чтобы привести их в нужное состояние — и модуль, а вслед за ним и всё кольцо сети, сразу же нахер зависало =)
Мои опыты дали странные результаты:
- Зависание от импульсных реле — 100%, если ими управляют выходы, которые расположены на клеммах левой половины модуля. Если щёлкать этим же реле с выходов правой половины модуля, зависание происходит реже;
- В момент зависания модуль не отвечает ни по каким интерфейсам связи, даже по USB в конфигураторе не видится;
- Это происходит только на модулях в широком корпусе — тех самых, про которые я выше говорил как про модули с хорошим пространством для проводов. Даже несмотря на то, что входы тех же импульсных реле такими же проводами проходят в одном перфокоробе вместе с цепями 230V на их катушки управления — нкакие другие модули не зависают. Даже те модули, которые отслеживают состояние этих импульсных реле.
Если всё стопроцентно дохнет при работе выходов на левой стороне модуля, то давайте снимем этот модуль и посмотрим на то, как он внутри устроен.
Проблема с модулями оказалась весьма странной. ОВЕН в курсе её, но прикол в том, что модули разрабатывались не абы как и прошли тестирование на импульсные помехи до 2 кВ по нашим Россйским ГОСТам и на производстве ОВЕНа. Логично было бы предположить то, что виноваты мы сами, если бы не такие моменты:
- Так виснут только широкие модули. Остальным модулям на это наплевать;
- Модули виснут от управления любыми реле на 230V. Даже сраными и мелкими ABB CR-P (ещё раз пост про них), которые казалось бы не должны никаких помех создавать;
- ОВЕН замерил уровни помех от некоторых реле, и они превышают ГОСТовские 2 кВ иногда аж в два раза. Но, мать его, в инструкции к модулям ничего не написано о том, что защитные снабберные цепи надо ставить даже на мелкие релюшки;
- Странно то, что модули Мх110 при этом плевать на это всё хотели и работают на ура (вот загляните в Дайджест новостей Марта 2021 года — про щит в ЖК Легенда). Народ многие годы гоняет через них контакторы и силовые реле — модулям пофигу.
На данный момент мы обсуждаем это на форуме ОВЕНа. Вот ссылка на тему, начиная с моих вопросов по монтажу и зависаниям.
ПОЖАЛУЙСТА БУДЬТЕ ВНИМАТЕЛЬНЫ И НЕ ПОВТОРЯЙТЕ НАШИХ ОШИБОК! Используйте эти модули ТОЛЬКО для коммутации напряжения 24V DC и на небольшие токи!
5.1. Смотрим внутрь модулей МУ210-402/МУ210-403.
Итак, открываем корпус и изучаем эти модули (я немного подсказываю: проблема обнаружилась в модулях с широким корпусом — МК210-402/403) внутри.
Модуль ОВЕН Мх210 МУ210-403: внутренности состоят из трёх плат, установленных буквой U
Блин, а тут есть где поржать, потому что если в узких модулях было видно то, как разработчики дрались за место внутри и пытались уместить всю начинку в малый объём корпуса, который надо было всего немного увеличить, то тут наблюдается обратная картина: снаружи модуль жирный, а внутри там лесные ветра гуляют…
Модуль ОВЕН Мх210 МУ210-403: вынул все платы целиком
Итак, делаем платам модуля Explode и изучаем их. Слева — плата с процессорной частью и небольшой частью выходов, посередине — источник питания, а справа — остальные выходы модуля.
Модуль ОВЕН Мх210 МУ210-403: основная плата (слева), блок питания (в середине), плата выходных реле (справа)
На правой плате реле нет ничего интересного: только сами реле, транзисторы управления ими и защитная фрезеровка около контактов силовых цепей. Реле стоят те же, на 5А, и я их не фоткал.
Модуль ОВЕН Мх210 МУ210-403: плата выходных реле и защитная фрезеровка около их контактов
А вот и фотография левой платы, процессорной, на которой находятся первые восемь выходов модуля. И вот даже зная, что модуль прошёл испытания по ГОСТам, я всё равно задал вопрос, который зададите и вы: как так получилось, что процессор модуля и микросхема коммутатора Ethernet оказались рядом с релюшкой первого выхода (а что если напаять туда пластинку-экран ребром)?
Модуль ОВЕН Мх210 МУ210-403: процессорная плата, на которой также смонтировано несколько выходных каналов модуля
Но если вы думаете, что в тестах щита я щёлкал именно выходами 1-2, которые ближе всего к процу и Ethernet, то хрен вам. Я щёлкал выходами 4-5, которые находятся в середине платы.
Модуль ОВЕН Мх210 МУ210-403: защитная фрезеровка вокруг реле
А вот тот узел, на который я гоню, крупным планом:
Модуль ОВЕН Мх210 МУ210-403: обвязка Ethernet, которая находится рядом с выходными реле модуля
В общем, всё это странно. Я долго тянул время и не выпускал этот пост (его основной задачей было рассказать просто про модули IO Мх110 и Мх210) и всё ждал способа решения глюков с этим модулем. Пока что мы все ещё собираем информацию, так как для тестов и изнасилования этого модуля нужно время.
Возможно, ищем мы вообще не там, и проблема приходит по питанию: ведь качественно модули зависают только если они установлены в щите, а не лежат на столе. Судя по фотографиям чужих шкафов на сайте ОВЕНа (в разделе выполненных проектов на этих модулях), люди монтируют эти модули как им нравится. И где-то виснет, а где-то нет. Хм… И при этом Ethernet с его релюшками для коммутации одинаков у всех модулей этой линейки. И ещё и ведь у меня в щите висли только модули вывода, а модули ввода, которая стоят рядом с ними — нет. Странно!
5.2. Проблемы с МУ210-402/МУ210-403 у других людей: те же причины.
Пока материалы на Солнечногорск ещё ехали и пока я его собирал (а собирал я его в самый коронавирусный пиздец, пока все сидели без работы и скучали; мне же скучать не приходилось), один из моих будущих заказчиков щита начал писать мне о том, что у него есть какие-то проблемы с ПЛК210 и модулями Мх210, что он плюнул на стандартные средства работы с Modbus TCP в CodeSys v3.5, а написал вместо них свои и что только так он смог заставить эти модули работать корректно.
Заказчик подходит к заказу щита очень ответственно и даже сделал себе макет квартиры:
Один из глючных проектов на ОВЕН ПЛК210 + Мх210: макет, на котором мой заказчик тестирует программу для своей квартиры
Сначала я начал ругаться на этого заказчика. Что у него руки кривые, что не надо было ставить внешний свитч, а надо было брать схему из инструкции к ПЛК и делать кольцо штатными средствами. Вроде как я был прав, да…
А дальше было ржачно. Диалог начинаю я:
— Слушай, что за херню ты сделал? Вот потому у тебя всё отваливается! Я ща щит начал собирать, сделал штатное кольцо на ПЛК, так у меня уже как вторые сутки полёт нормальный, всё без сбоев [это я только ПЛК запустил, а реле ещё не щёлкал]. А ты говорил, что связь отваливается через полчаса! Ну-ка нахер переделывай всё!
— Гммм… хорошо, я переделаю. Переделал, и оно вроде как работает уже полсуток без отвала связи.
— Алё, алё! =))) А щас ты будешь РЖАТЬ!! Короче, ты был ПРАВ!!! У меня всё работало, пока я релюшками не начал щёлкать! Сейчас пошёлкал — и всё зависло как у тебя! Ну-ка расскажи, какие у тебя там реле? На 230V или на 24V?
— Ха-ха-ха! Вот-вот, а я тебе говорил, что там всё надо переделывать и что модули кривые! Реле у меня на 230V, я тебе даже видео заснял — всё щёлкает, сбоев пока нет.
Вторая история более нехорошая, потому что это не мой заказчик, а читатель моего блога. Он читал те посты, в которых я писал о том, что в Siemens Logo на FBD не всё получается запрограммировать и что ПЛК с CodeSys рулит, и советовался со мной о том, какой ПЛК ему купить. Я советовал простой ПЛК110, но мой читатель решил тестануть новую линейку и создал себе проблем.
Он купил ПЛК210 и этот самый глючный модуль (на него все ведутся: там же ж сразу МНОГО выходов, и провода монтировать удобно). Он выкинул из щита Logo и поставил туда этот набор (обратите внимание, КАК это всё еле-еле влезло в щит в плане высоты DIN-рейки) и поставил релюшки ABB CR-P.
Ещё один из глючных проектов на ОВЕН ПЛК210 + Мх210: заказчик выкинул Logo из квартирного щита и перешёл на ОВЕН
Он написал мне почти одновременно с тем заказчиком с тем же вопросом: «Слушай, а ты не знаешь, а чего это у меня через минут 10-30 всё зависает?». А потом… потом заехал ко мне, и перекупил у меня релюшки с катушкой на 24V DC — и чудо! Все глюки сняло как рукой! Я понимаю глюки от контакторов, от двигателей, от чего угодно — но от мелких сраных релюшек CR-P — это перебор!!
На форуме ОВЕНа тоже появляются такие вот сообщения:
Сообщение на форуме ОВЕНа о глюках модулей МУ210-402/403
Вот фотография модулей в щите у человека из форума. И снова там виден этот глючный жирный модуль!! Ррр на него!!!
Модули IO ОВЕН Мх210 в силовом шкафу участника форума ОВЕН
Итак, пока что по этой проблеме есть такие тезисы:
- Модули Мх210 гораздо капризнее и нежнее модулей Мх110;
- Все пишут про глюки «толстых» модулей, и у всех эти модули коммутировали что-либо на 230V;
- Модули виснут только внутри щитов/шкафов. Когда модуль лежит на столе, завесить его надо сильно постараться (сотрудники ОВЕНа у себя на столе еле-еле его завешивают, а у нас в щитах-шкафах он виснет на ура);
- ОВЕН делает упор на то, что наши реле создают помехи вне уровней ГОСТа, на которые сертифицирован модуль, и в этом они правы: некоторые релюшки дают выброс в 4 кВ, а модуль рассчитан на 2 кВ;
- Мы как пользователи делаем упор на то, что все другие модули ОВЕНа и продукция других производителей (даже дерьмо с AliExpress) с этими же реле работает корректно, и только эти толстые модули тупят;
- Многие профи делают упор на специальные снабберные цепочки, которые должны включаться параллельно катушкам реле и контакторов. Но есть такие серии реле (ABB CR-P/ABB CR/M), которые не предусматривают подключение таких цепочек. Да и никто пока не сталкивался с тем, что простое промежуточное реле на 230V будет вызывать дикие глюки. Контактор на 250А — это логично, но реле?
На всё это у меня есть вот такой вот контрпример из щита на ОВЕНе 2016 года:
Подвод силовых линий к контакторам ESB
В этом щите стоит около 24 штуки самых дрянных АББшных контакторов (на фото выше щит в процессе сборки, и катушки контакторов ещё не подключены) — ABB ESB20-20 старой линейки (вот пост про новую и старую линейку), которые имели слегка гудящую катушку переменного тока. В старших моделях линейки этих контакторов внутри контактора стоит диодный мост, а в этой младшей модели катушка питается переменным током.
ПЛК ОВЕН и его обвязка (модули ввода-вывода)
Управляются эти контакторы по 230V модулем ОВЕН Мх110 на 32 канала. На фотке выше на него наклеена молния. Все провода IO (входы 24V, выходы 24V, выходы 230V) навалены в кучу рядом. ХРЕН ЧТО ГЛЮЧИТ.
5.3. Попытки завесить другие модули и идеи по решению проблем с МУ210-402/МУ210-403.
Итак, что мы имеем? Моя главнейшая проблема в том, что щит в Солнечногорск давно уехал к заказчику: благодаря функции перехвата управления, сейчас щит работает в режиме ручного управления, и свет в доме заказчика управляется кнопками напрямую. ПЛК при этом крутится и другие модули не зависают ни хрена.
Такого модуля у меня дома для тестов нет, поэтому я его куплю с денег от других щитов. И тоже буду пытаться его завесить у себя при помощи разных реле.
Пока же я взял тот самый модуль на 4 выхода (МК210-302) и попытался завесить его. Я собрал небльшой стендик, чтобы проверить три варианта работы: импульсное реле от 230V AC, такое же реле от напржения 96 V DC (это тесты для спасения Солнечногорска и перевода его реле на постоянный ток) и импульсное реле с катушкой на 24 VDC.
Мой тестовый стенд для теста зависания модуля МК210-302 (какой был под рукой)
Ну и что вы думаете? Именно этот модуль нащёлкал около 1000 импульсов по каждому из реле и ХРЕН ЗАВИС. Я даже витую пару вокруг реле на 230V обмотал — и фиг там.
Попытки завесить модуль МК210-302 при помощи помех по витой паре
На данный момент тесты остановлены до тех пор, пока я не куплю себе такой же модуль для изнасилования. А щит в Солнечногорск работает там, на объекте и доступа вида «дай-ка я тут недельку покопаюсь» нет.
Вот вам пара его фоточек. Это часть автоматики ПЛК и исполнительных реле:
Мой щит в Солнечногорск на ОВЕН ПЛК210 и модулях ОВЕН Мх210
А это весь щит целиком:
Мой щит в Солнечногорск на ОВЕН ПЛК210 и модулях ОВЕН Мх210
Этот щит стоит 1,4 миллиона в довирусную эпоху (пока цены не поднялись, весна 2020). С одной стороны мы с заказчиком сами себе идиоты, что решили затестить крутые модули и крутой ПЛК. С другой стороны, эти модули дорого обходятся любому, кто решит соблюдать все правила монтажа:
- Перейти на монтажные провода 0,5 или даже 0,35 кв.мм;
- Купить WAGOвскую или другую, очень компактную, маркировку, чтобы она была около концов проводов так, как этого требует ГОСТ. Или забить на ГОСТ и отказаться от маркировки вовсе;
- Увеличить место в щитах по высоте, чтобы его хватило для Ethernet-разъёмов;
- Расширить кросс-модули питания в щите, чтобы в идеале подводить его на каждый выход каждого модуля отдельными проводами от кросс-модулей: ведь если мы снижаем сечение монтажных проводов в щите, то провод на 0,5 квадратов пропустит меньше тока, чем провод на 0,75 кв.мм;
- Некое противоречивое правило: чтобы меньше было помех, надо с одной стороны подводить питание и Ethernet (сверху), а с другой стороны — сигналы на контакты IO модуля. Это противоречит тому, что сигналы на контакты надо подводить с двух сторон, чтобы провода влезли в узкий канал модуля;
- На все-все реле или то, чем управляет модуль, ставить снабберные цепочки, которые сожрут место в щите и добавят к его стоимости ощутимую сумму (например 60 штук по 500 рублей = 35 тыр);
- Использовать реле на +24 V DC, чтобы развязать силовые цепи. Реле в модуле, реле в щите, силовые реле. Не много ли реле?
- Не забывать менять батарейку и следить за DNS-серверами, на которые ходит модуль.
Не слишком много затрат-то ради того, чтобы релюшками в щите пощёлкать или в ОВЕНское облако данные отправить?
6. Итоговые выводы про линейки модулей Mx110 и Mx210.
Всё, подводим итоги!
«Старые» модули Мх110 мне нравятся больше из-за их большей неприхотливости, универсального диапазона напряжений питания и бОльшей (как оказалось) плотности монтажа в щите. Модули не имеют наворотов, они простые как палка и годны для тех решений, где нужна долгая и безотказная работа. Ещё эти модули хорошо показали себя в силовых щитах и в распределённых системах малой скорости (в смысле, что можно раскидать такие модули по длинной, но медленной линии Modbus).
Группировка линий IO этих модулей по 4 штуки позволяет сократить количество проводов в большинстве случаев. Также эта группировка помогает использовать один модуль для управления нагрузками разного напряжения или разной полярности, потому что каждую группу IO можно питать отдельно от остальных.
«Новая» линейка модулей Мх210 на мой вкус и полученный опыт имеет больше недостатков и сложностей, чем достоинств. Основной конструкторский просчёт с этой линейкой, на мой взгляд — это её корпус, который сделали слишком узким, и из-за этого у модулей вылезают проблемы с укладкой проводов и их подключением.
Ещё один минус Мх210 — это то, что они могут работать только по Modbus TCP. Можно было бы реализовать ещё один клеммничек для Modbus RS-485, и тогда универсальность модулей бы появилась. Ещё один минус — это более дорогаая стоимость обслуживания из-за встроенной батарейки, которую через несколько лет понадобится менять. Ну и глюки при работе этих модулей с релюшками тоже мне не нравятся.
Я остаюсь на модулях Мх110 и на ПЛК110/СПК1хх. Я откатал решение с ними на нескольких щитах и нашёл способ как разогнать Modbus внутри щита для опроса всех модулей IO и переписал обработку кнопок так, что ПЛК ловит даже резкий удар кулака по этой кнопке.
Модули Мх210 я НЕ рекомендую для небольших щитов, так как из-за их странного форм-фактора щит будет больше по размерам (высоте и глубине), чем на Мх110. Также я НЕ рекомендую Мх210 для силовых щитов, в которых рядом есть любое напряжение выше 24 V DC.
Издевательства над зависоном будут продолжаться, когда я куплю себе такой модуль и буду баловаться. Вплоть до того, что процессор или внутренние реле фольгой оберну =)
Проекту исполнилось 16 лет! Поддержать проект материально, проспонсировать проекты Автора или сделать ему подарок можно на этой странице: "Донаты и Спонсорство, Список Желаний".
Вот это труд! Поражает количество сил и времени, вложенных в этот пост.
Сам ставил модули Мх110 еще в старых корпусах на котельную. Уже лет 6 меня не тревожили.
Новая линейка выглядит интересно, нужно будет попробовать.
Сергей А. Труд был тяжкий. Кажется, я такие АДСКИ длинные посты ещё не писал. Писал я его 2,5 суток, не вставая от компа (с перерывами на сон). Есть дофига опечаток, но они потихоньку правятся.
У меня тоже все старые Мх110 работают вовсю, хоть я ставил их меньше (всего разных за всю историю работы на данный момент пока 57 штук поставил).
Новые попробуй, но осторожнее с их помехами и теми широкими модулями. Они самые мутные получились у них.
[Подрезано CS]
а, я понял: я дал ссылку на старые модули, а речь о новых. Тем не менее, гОвен барыжит «промышленными» контроллерами, которые нужно обвешивать резисторами, а назад свою продукцию не принимает. Я его ПЛК63 неюзанный второй месяц продаю с дисконтом 40 %, желающих купить нет.
profeMaster Вот именно что! Если ты так хуёво читаешь документацию перед покупкой (и пишешь сюда, даже если не от того модуля читаешь) — то на кого надо пенять, если ты взял не тот ПЛК?
я доку и не читал — спросил у их консультанта на сайте, что мне взять для датчика 0-10 В. Про анал с резисторами узнал уже после покупки и предложил вернуть их ебучий-конструктор-без-нужных-деталей. Они тянули 2 недели, небось для подстраховки (в Украине закон про 2 недели на возврат товара). Шарашкина контора.
profeMaster Ага. Прекрасно. Ничего не прочитал, поведение, описанное в документации не совпало в тем, что ты ожидал — и «шарашкина контора».
И, следующий вопрос: чем мне и моим читателям будет полезна эта информация о том, что ты дурак? Заканчивай свои обидки в каждом посте писать, иначе забаню.
Не в курсе особенностей украинского законодательства, а в России profeMaster был бы прав: он до покупки сообщил продавцу (в виде консультанта на сайте), что ему нужно, а ему продали штуку, не делающую этого. Как потребитель, profeMaster не обязан быть профессионалом, то есть не обязан прочитать документацию и разобраться, действительно ли ему подходит то, что подсовывает продавец. Таким образом, продан товар с недостатком, и продавец обязан его устранить. Другое дело, что, насколько я помню эту историю, продавец и не пытался уйти от своих обязанностей, предложив бесплатно недостающие резисторы. Как говорится, важна не сама ошибка, а реакция на ошибку.
А мог бы просто заявить, что контроллер — промышленное оборудование, и ЗоЗПП тут не действует. Так что «Овен» ещё не сильно плохо себя повёл.
Caesarion Ну, продали штуку с AI на борту. А дальше надо читать мануал и изучать то, как эти AI подключать туда. Что не так?
Или мы топим за «не написано же что кошек нельзя стирать в стиралке»? Тогда хули, давайте судиться с производителями, которые продают люстры с патронами, а лампочек там нет. Хули, я ж люстру купил, она светить должна, меня не предупредили что там ещё и лампочку надо подключать.
Или что к ПЛК на 24V блок питания не дают. Как это, блядь, его надо покупать? Вы что, совсем охуели? И ещё и мощность рассчитывать? Да совсем пиздец, какие наглые!
День добрый! А почему ПЛК и модули вывода именно релейные?
Ведь всё равно все выходы (ну, наверное, все, прям поштучно всё же не считал) идут через внешние CR-P/M, и модули с диодами для катушек есть, даже просто обжатые в НШВИ диоды были.
Почему же не транзиторные выходы? Вроде и быстрее, и мех. ресурса нет, и 400 мА с запасом на релюху хватает. Я чего-то не догоняю?
И ещё, просто ради интереса. У CR-P же DC-катушка на 0,48 Вт, а в расчётах в посте 0,6. Запас? :)
Jak Ага, ты прав: и CR-P/M и модули с противодиодами. Причины я могу назвать две.
Первая: иногда не ВСЕ =) Вот иногда я беру какой-нить COM и валю туда подсветки кнопок. Иногда их набирается много.
Вторая: Типовизация. Вот есть у нас Мх110 по 16 каналов. Подсветок нам надо например 7. Останется 8 каналов свободных. Релейных. Садим их на релюшки. И потом вдруг ни с того, ни с сего заводим ещё парочку модулей с ОК? Ну мне не сильно это нравится. Вот релейные и юзаю.
Ага, ЗАПАС =))
он предложил всего несколько штук. Не на все входы, как предложил ему я.
чья бы корова мычала. Почитай себя в посту про бризер — там ты хотел, чтобы бризер сам отрубался при пожаре, хотя в целой квартире (сравниваю размером с бризером) у тебя нет пожарной сигнализации, чтобы отслюнявить хотя бы сигнал на бризер, поддерживай он такой контакт.
как еблан он себя повел. Я говорил с юристом, дело выигрышное, только расходы на юриста дороже возврата.
Есть вопрос по модулям IO и ПЛК в целом, сам еще ни с тем, ни с другим не работал, но прицеливаюсь.
Возможно ли один аналоговый вход использовать для нескольких контактных датчиков?
Т.е. организовать делители на резисторах, что бы при разных комбинациях срабатывания датчиков выдавалось разное напряжение, что-то типа охранно-пожарных шлейфов, только номиналы резисторов везде разные.
Можно ли потом в ПО разные уровни напряжения с АЦП интерпретировать как разные самостоятельные сигналы?
Например есть УЗИП на столбе, в нем три аварийных контакта. Берем двужильный провод, с одной стороны одна жила на землю, вторая на вход контроллера и через подтягивающий резистор(5к) на +12В.
С другой: резистор параллельно шине(16К), каждый контакт через свой резистор (2к,4к,8к) параллельно шине.
Тогда на входе контролера при разных комбинациях срабатывания контактов получим разное напряжение:
1 — 3,15В
2 — 4,68В
3 — 6,19В
1+2-2,369В
1+3-2,704В
2+3-3,764В
1+2+3 — 2,11В
КЗ — ОВ
обрыв — 12В
Номиналы от балды, можно подобрать так, чтоб более широкий разрыв получить между ближними значениями. Да, тут будет медленное измерение, т.к. АЦП, но для сигнальных датчиков это может быть не критичным(не свет же включаем, тут главное хозяина уведомить), но позволит съэкономить количество входов, да и проводка местами упроститься.
LutiG Как концепт — конечно можно. Это типа как на один вход АЦП микроконтроллера через резистор можно штук 5 кнопок подключить, да.
Подводные камни будут такие:
а) ПОМЕХИ. Вот ты про УЗИП заикнулся… а прикинь, в них когда молния бахает — то на соседние провода наводится несколько КИЛОВОЛЬТ! А вообще, уровень, до которого УЗИП ограничивает перенапряжение от молнии — тоже не малый, а около 2 кВ. И вот рядом там у тебя будет измерительная линия до модуля. Длинная ещё поди, да? +))
б) То, что модуль измеряет. Тут надо читать докуму на сами модули и проверять. Кажется, ОВЕНские модули могут напрямую мерить сопротивление. Могут мерить напряжение, но тут надо уточнить. Линейка Мх110 на входе меряет всего 0-1V, которые внешним делителем в 0..10 превращаются. Поэтому почитай пожалуйста мануал. Если модули смогут мерить сопротивление — то так их и юзай.
Вот про УЗИП ты прав, это я погорячился сильно и главное даже ничего не екнуло в голове. А в реальности пожгет все, там гальваническая развязка нужна, а лучше отдельный модуль на такие опасные входы.)))
Да, действительно, сейчас посмотрел в некоторых модулях есть именно измерение сопротивления. Надо будет погрузиться поглубже. )
Вот ссылка с сайта ОВЕНа про Мх110 для сопротивлений: https://owen.ru/uploads/25/cxema-podklyucheniya-mv110-8a-4.jpg. И вот ссылка на парочку сопротивлений: https://owen.ru/uploads/25/cxema-podklyucheniya-mv110-8a-5.jpg
Дальше надо почитать, как это в число в модуле превращается.
Спасибо за ссылки! Бегло по докам — должно. )
Я сейчас в состоянии выбора контроллера для всякой сигнализации и управления в доме, в том числе для света. В итоге после огромного количества интернета в мозг и всяких разных опытов остановился на странном — либо Mega-D, либо ОВЕН. Первое — лютое и наколеночное, но если от него не требовать много логики, а больше использовать как модуль ввода-вывода — имеет право на жизнь.
ОВЕН более кондов, а главное если сдохнет потом, ему реально найти замену.
Но главное, что я уже понял, без реальной железки под ногами ничего решать нельзя. Документация это хорошо, но в железе часто работает все немного подругому. )
Скорее всего придется купить или где-то позаимствовать на время и то и другое, хорошенько помучить, а уже потом идти искать третий вариант )))))
Кстати ты в одном из постов раньше заикался про DALI для экспериментов, есть диммер для LED пятиканальный, блок для подключения 4-х кнопок и БП, все китайское. Я наигрался, мне не зашло, могу передать для экспериментов, если актуально.
Про ОВЕН. Будь внимателен: CodeSys v3 работает с Modbus немного по другому, чем CodeSys v2 (мы говорим о штатных драйверах, но можно написать свой опрос)! В третьей версии CodeSys Modbus более тупенький! Посты про это будут, но позже — собираю материал и жду когда мне с Алишки свой личный логический анализатор приедет.
MegaD — да — наколенная уебань. И я понял, что к чему у Меги и Wiren: у них основная тема — это событийная модель. Вот если тебе она по душе, то можешь брать Wiren — он сделан лучше чем МегаД.
DALI мне особо не нужен, но… у меня есть ОВЕН ПЛК110-32 на 24V на среде MasterSCADA. Если хочешь — можем махнуться, если ты в Мск и доступен в пределах «подскочить к метро» и если тебе MasterSCADA прокатит! Пиши на мыло тогда, в каком районе Мск ты обитаешь.
CS
я бы тут поматерился — понимание ОВНА и модбаса классических SCAD весьма разное — внутри одной системы все работает отлично — поднимаешь выше — привет геморрои и отличие от стандарта…
Допонение:
1. Проблема была не в ОВНЕ а в производителе системы мониторинга с неправильной обработкой сигналов с OPC сервера.
2. OPC сервер не разработки ОВеНа применялся, а Инсат.
Привет, заметил что в Москве часто используют WirenBoard для автоматизации в квартире, есть опыт использования? какие мысли насчет данного оборудования?
Romich ЖДАТЬ! Вот какие мысли. Пост будет, но ПОЗЖЕ.
Romich, по WirenBoard крайне важно перед тем как попытаться что-то использовать надо обязательно пойти на их форум и почитать темы про косяки этого конкретного модуля, иначе потом оказывается что какие-то мелочи у них работают странно и это либо полностью портит его применение либо делает его крайне неудобным.
> DALI мне особо не нужен
CS, а Модули измерения параметров электрической сети тебе не интересны ОВЕНовские? У меня 3х фазный лежит без дела, в комплекте с тремя токовыми трансами ABBшными. Я вместо него как раз от WirenBoard WB-MAP12E заиспользовал приблуду, с 12ю каналами измерения тока (четыре канала на три фазы, но при измерении только тока, без необходимости мерить мощность, можно их как хочешь раскидывать по фазам).
Оффтоп, WB-MAP12E оказался достаточно чуствительным, получилось стабильно регистрировать факт включения меню управления плитой, т.е. даже не момент начала нагрева, а момент перехода из выкл к готов к работе. Возможно получится и с посудомойкой/стиралкой (не помню где мы это обсуждали) такое провернуть, постараюсь на выходных протестировать.
LinTux А в каком смысле интересны? Я ж их знаю и ставил в несколько мест. Ща вот будет пара проектов, где опять буду ставить.
Мне интересно поискать компактные трансы тока под них, потому что АББшные жрут много места.
> А в каком смысле интересны?
«Поиграться» — разобрать, посмотреть как работают и тд. Он лежит ненужный, продавать на авито я не мастер, там весь мозг выедят, а выкинуть жалко :-)
> Я ж их знаю и ставил в несколько мест.
Хм, пропустил похоже. Тогда наверное не особо нужен.
> Мне интересно поискать компактные трансы тока под них, потому что АББшные жрут много места.
От WirenBoard не подойдут к сожалению, они с нестандартным выходом 0-25мА (судя по документации). Другие не пробовал (так и не смог купить на физ лицо, задолбался с эфиктивными манагерами, которые шлют на х.й как только слышат что тебе надо 10 штук и ты даже не ИП).
LinTux Ой.. всё равно туплю: ты их мне хочешь задаром отдать? А как так-то? Ведь это ж крутая тема, и её можно куда-то деть!
Если прям вот выкинуть — то возьму, разберу и потом дополню пост этот! Потому что ставить я их ставил (и ща буду ставить ещё в один из щитов), но ни разу не разбирал!
НО если ты знаешь того, кому они прям вот в работу сгодятся — отдай ему, потому что у меня они будут лежать, хоть мне и будет приятно ими обладать!
Угу! Я даже нашёл эти трансы на Алишке. Они работают непонятно для меня: конвертят ток в ток, но непойми с каким коэффициентом, потому что там пишется что-то типа 100 mV/1А, и всё. А как это применить к стандартным трансам тока — я фиг знает.
> ты их мне хочешь задаром отдать?
Верно.
> А как так-то? Ведь это ж крутая тема, и её можно куда-то деть!
Так некуда, у себя я его заменил на WB-MAP12E. Из знакомых ни кому не надо.
Если нахаляву не удобно, могу всю кучу остатков от экспериментов махнуть на маркировку для кабелей (хотя бы DI/DO контроллера промаркировать), а то уже сам не могу сходу найти где у меня что.
LinTux Так! Мыло увидал! Отвечу тебе на днях! Загруз — пиздец! =)
Добавлю от себя небольшую ремарку про модули МВ1108А.
Опытным путем выяснил несоответствие документации текущим значениям регистров модбас по состоянию каналов: обрыв или короткое замыкание.
Следует читать состояния как 61451 обрыв, 61453 короткое замыкание. Значения указал в DEC форме. 0 значение, что с каналом все ОК соответствует действительности.
Вопрос про ОВЕН МВх110 с аналоговыми входами 8А. Тестировалось 2 экземпляра разных лет выпуска — проблема старая и актуальная на сегодня!
Выяснилось СТРАННОСТЬ при работе входов, сконфигурированных на сигнал 0-1В!
На таких входах (аналоговых)с циклом опроса входа появляется импульсное напряжение доходящее до 2В ! И это при выходном сигнале датчика в принципе НЕ превышающем 1В, а реально это 0,3-0,5В.
И конечно же «бедный» выход аналогового датчика не справляется с таким неожиданным для него высокими всплесками напряжения и через некоторое время «сдыхает».
Похоже, что эта проблема связаны с цепями и алгоритмом проверки обрыва линии датчика. На этот вход циклически подают напряжение (цитата из документации):
«Для реализации функции определения обрыва цепи входного сигнала, к положительным клеммам аналоговых входов, через резистор 330 кОм, подключен источник напряжения 14 В. Это приводит к тому, что аналоговый вход представляет собой генератор тока 40 ± 5 мкА».
https://docs.owen.ru/product/moduli_analogovogo_vvoda_s_bistrimi_vhodami_s_interfejsom_rs_485/452/36737#topic-36739
И это нельзя отключить !
Это безобразие !
Хотелось бы где то получить принципиальную схему входных цепей этого аналогового модуля — чтобы аппаратно это безобразие ОТКЛЮЧИТЬ!
kompius А ко мне какие вопросы? Ты же не представляешь, что я щас возьму плётки и дрын из куска кабеля и побегу пиздить ОВЕНских разработчиков?
На форуме ОВЕНа тебе же ответили про шунтирующий резистор.