В этой статье краткий обзор программируемых контроллеров для HVAC (отопление, вентиляция и кондиционирование) от 3х производителей:
Исходя из личного опыта их использования.
![](https://habrastorage.org/r/w780q1/web/516/372/81b/51637281b7f64a8fbd608d7e10ab1503.jpg)
Итак, два брата акробата: ПЛК63 –обитатель DIN рейки и ПЛК73 – упрямый форточник (для монтажа вам придется вмонтировать его в дверцу щита).
При любой модификации вы получаете – 8 дискретных входов, 8 аналоговых входов. Для задач автоматизации вентиляционных установок такого количества датчиков вполне хватает.
ПЛК73 может похвастаться 2мя COM портами, если докупить дополнительную плату ПИ73. Вариаций 5шт. Лично я считаю самой интересной ПИ73-5 — RS-485 * 2шт. У ПЛК63 всегда есть RS485 на борту.
Еще у 73го 4 строчки на дисплее против 2х строчек на ПЛК63. Батарейку в часах и память обе модели имеют сразу (но помять для переменных меньше, чем у segnetics). Механизм сохранения в ПЗУ у этих ПЛК веселее, чем Segnetics. Как я понял, в ПЗУ данные записываются только на момент выключения питания. В остальное время данные пишутся в ОЗУ.
И у той и у другой модели куча вариаций выходов, которые называют ВУ (выходное устройство). Это могут быть реле, ЦАП тока или напряжения, оптотранзисторы или оптосиммисторы. Для производителя вариации создавать не сложно, т.к. основная плата одна и в нее могут быть впаяны разные модули ВУ.
Нужно больше релейных выходов? Не проблема — докупаем модуль МР1 (8 реле). Модуль только такой — ОВЕН больше вариаций нам не дает.
Для ПЛК63 – Реле плюс 5 шт ВУ, которые вы выбираете при покупке. Для ПЛК73 – 4 транзистора и 4 ВУ.
Вообще ПЛК73 спорная модель. Больше всего от чего бесятся люди – суровые жесткие кнопки. О да… Кнопки заставят неопытного человека испытывать весь спектр негативных эмоций. Ну и аналоговых выходов у ПЛК73 меньше.
Поработав с обеими моделями, я оставил фаворитом ПЛК63. Как-то серьёзнее он выглядит, и кнопки легче нажимаются. Но очень жаль, что тут только один RS485.
Что же, если очень хочется, помните, что у вас есть RS232-debug – тот порт, через который мы льем прошивку. Правда придется докупить преобразователь RS232 to RS485.
Codesys 2.3. Про нее уже много чего написано. И не один ОВЕН ее использует (это плюс). Есть много бибилиотек (обратите внимание на Oscat). Среда не наша, а немецкая (как удивительно, да?). Функционала много, языки и текстовые и графические (расширенный МЭК 61131-3). Детальнее читаем в книжках.
Slave. Есть из коробки, сразу дает читать входа, выхода, нажатие кнопок, часы. Адреса новым переменным придется придумывать отдельно. Читается все без групповых запросов.
Но если очень хочется, можно и групповыми, есть описания в руководстве. Однако адреса в руководстве даны с ошибками.
Не огорчайтесь — один добрый человек уже нашел правильные адреса. Можно найти на форуме ОВНА или тут (уже залил, чтоб не потерялось).
Режим Мастер. Тут уже сложнее. Вам придется применить такую страшную вещь как «навыки программирования» – берете библиотеку Modbus.lib (ну или сами сделаете) и пишите взаимодействие с внешними устройствами. Звучит страшновато, но в некоторой мере это даст больше гибкости. Например, можно написать работу с кучей типовых устройств (те же частотные преобразователи), а не создавать кучу однотипных переменных
Плюсы:
Минусы:
Цены с сайта Овен (все модификации смотрите на сайте):
Из личной коллекции:
![](https://habrastorage.org/r/w780q1/web/6c0/8db/522/6c08db522c7644eaa763a50f5d237bad.jpg)
![](https://habrastorage.org/r/w780q1/web/765/5ec/566/7655ec566df14709a8d7bb3c0305b488.jpg)
![](https://habrastorage.org/r/w1560/web/b6a/e66/c3f/b6ae66c3fbc744ef9bc80836ac32ffa5.png)
Итак, Pixel и его большой брат-форточник SMH2g. Есть еще SMH2gi с доступом к linux. Вроде как дает больше возможностей для любителей той самой страшной вещи как «навыки программирования».
Относительно I/O SMH2g не особо интересен без модулей расширения (на борту 4 DI / 4 DO и 5 DI / 2 DO для SMH2gi). У Pixel дела получше (6DI/3DO/5AI/2AO), но без модулей тоже не всегда обойдешься.
Важно заметить — Pixel гальванической изоляции по аналоговым выходам и входам НЕТ. Конечно, Segnetics в плане расширяемости заморочился. Можно даже Ethernet для Pixel сделать. Однако чтобы часы тикали без сбоев понадобится купить у Segnetics батарейку. И позиция эта отдельная. Так же с памятью. Докупаете отдельно (если вам, например, нужна работа по расписанию).
Еще маленький камешек в огород Segnetics — злые цены на кабель для соединения ПЛК с модулями расширения. На деле — обычный шлейф с разъемами IDC. Изготовить можно самим, купив все в магазине или радиорынке. Получится раз в 5 дешевле. Главное не напутайте с подключением.
В плане внешнего вида, удобства нажатия кнопок, дисплея – тут все отлично. Для большего пафоса Segnetics даже ни слова по-русски на корпусе контроллера не написал. Ну и нам приятно.
SMLogix. Разработана Segnetics. Язык только графический со всеми минусами графических языков. Чтобы как-то удобнее можно было делать правки в программе — желательно делать блоки (они же макросы) по типу матрешки:
![](https://habrastorage.org/r/w1560/web/8a5/32f/6f8/8a532f6f868d4609bf5478f5bb2ae244.png)
Так вы не потеряете внешние связи в программе. Segnetics значительно повысил притягательность своего оборудования благодаря конфигуратору SMConstructor, который генерирует рабочую программу ПЛК для систем вентиляции (теперь и для ИТП). Останется подпилить ее под свои нужды.
Однако тот же Pixel не даст вам полного доступа к COM порту. Нужный вам протокол вы не напишите. Только Modbus.
Все неплохо. Каждую переменная, которую вы создаете, автоматически становится переменной Modbus. Так реализуется режим slave.
Для Master все тоже неплохо. Можно подгружать карты Modbus от других контроллеров Segnetics или создавать (и сохранять на компьютер) карту переменных отдельно. Для большинства задач этого должно хватать
Плюсы:
Минусы:
Цены в свободном доступе. Приложу несколько позиций:
Из личной коллекции:
![](https://habrastorage.org/r/w780q1/web/fd1/11b/aa1/fd111baa15fc49cb9e18c9df092a4c9f.jpg)
![](https://habrastorage.org/r/w780q1/web/1bd/a6d/d44/1bda6dd447a74dca95984642a5182b2f.jpg)
![](https://habrastorage.org/r/w780q1/web/664/90d/0e4/66490d0e4a7442c2b56914371fa3ef90.jpg)
Познакомился с этой линейкой для HVAC около года назад. По тому, что прочитали на форумах — разработка итальянская, видимо была перекуплена Schneider.
М171 версия проще и дешевле, потому решили не мелочиться и взять M172. По входам и выходам – сказка. Например, модель TM172PDG42R – 42 I/O. Интерфейсы — Ethernet (M172), RS485 (у М172 их даже 2 шт.), CAN. Экран неплохой, графический. Прибавим к этому кучу всяких модулей расширения и получаем весьма интересное решение в плане аппаратной части.
SoMachine HVAC. И тут начинается первая ложка дегтя. Среда не особо дружелюбная для начинающего. С документацией все плохо – готовьтесь шерстить поисковик.
Среда разбита как бы на несколько отдельных программ. У них даже ярлыки свои. В одной вы инициализируете интерфейсы и аппаратную часть, в другой рисуете экран, в третьей пишете программу. Youtube все лучше расскажет:
Есть и графические и текстовые языки. Есть ST (переменных типа Time нет – будете крутиться с DWORD). Так же тут дурацкая система инициализации переменных. Вы не сможете просто написать:
Зачем так просто? Вы лучше каждую переменную создавайте мышкой через диалоговое окно. Перенос наработок с других сред программирования усложняется.
Но в целом здесь возможностей побольше, чем у SMLogix. Однако разработка все равно сырая.
Каждая переменная имеет свой адрес. Т.е. slave будет сразу. С Modbus в этом плане все неплохо. Все, да не все. Вот вам еще 1,5 ложки дегтя:
UPD (август 2018)
С момента написания статьи прошло больше года. Поступили хорошие новости для М172:
Производитель выпустил уже несколько обновлений ядра контроллера. Так что вы можете и не столкнуться с перечисленными недугами ПО.
У нас, например, исчезла проблема с падением связи в Modbus TCP. (Если у кого-то есть положительный опыт использования — пишите, добавлю в статью).
Плюсы:
Минусы:
Цены на момент закупки:
К контроллерам надо отдельно покупать съемные клеммы.
Из личной коллекции. ПЛК100 (справа) как раз работает как Мастер вместо М172:
![](https://habrastorage.org/r/w780q1/web/167/98b/061/16798b061e664b0a8b6e977a9b6daf35.jpg)
Codesys 2.3. Порог вхождения выше, чем у среды программирования Segnetics, но и вещи можно делать более интересные (тут даже некоторые основы ООП есть). Потому вот так без опыта программу будет сложно написать/нарисовать.
Если вы решили изучать Codesys, то крайне рекомендую начинать с ST (Structured Text), паскалеподобного языка. У текстовых языков есть важнейшее преимущество – возможность переноса на другие среды, поддерживающие язык.
Автор уже имел опыт переноса программы из ПЛК63 на тот самый Schneider M172 с минимальными изменениями.
Графические языки изначально поманят вас наглядностью. Но не поддавайтесь – в больших программах вы запутайтесь, да и еще гибкость потеряете (элементарно не сможете закомментировать участок кода).
Исходя из личного опыта их использования.
ОВЕН ПЛК63/73
![](https://habrastorage.org/web/516/372/81b/51637281b7f64a8fbd608d7e10ab1503.jpg)
Итак, два брата акробата: ПЛК63 –обитатель DIN рейки и ПЛК73 – упрямый форточник (для монтажа вам придется вмонтировать его в дверцу щита).
При любой модификации вы получаете – 8 дискретных входов, 8 аналоговых входов. Для задач автоматизации вентиляционных установок такого количества датчиков вполне хватает.
ПЛК73 может похвастаться 2мя COM портами, если докупить дополнительную плату ПИ73. Вариаций 5шт. Лично я считаю самой интересной ПИ73-5 — RS-485 * 2шт. У ПЛК63 всегда есть RS485 на борту.
Еще у 73го 4 строчки на дисплее против 2х строчек на ПЛК63. Батарейку в часах и память обе модели имеют сразу (но помять для переменных меньше, чем у segnetics). Механизм сохранения в ПЗУ у этих ПЛК веселее, чем Segnetics. Как я понял, в ПЗУ данные записываются только на момент выключения питания. В остальное время данные пишутся в ОЗУ.
И у той и у другой модели куча вариаций выходов, которые называют ВУ (выходное устройство). Это могут быть реле, ЦАП тока или напряжения, оптотранзисторы или оптосиммисторы. Для производителя вариации создавать не сложно, т.к. основная плата одна и в нее могут быть впаяны разные модули ВУ.
Нужно больше релейных выходов? Не проблема — докупаем модуль МР1 (8 реле). Модуль только такой — ОВЕН больше вариаций нам не дает.
Для ПЛК63 – Реле плюс 5 шт ВУ, которые вы выбираете при покупке. Для ПЛК73 – 4 транзистора и 4 ВУ.
Вообще ПЛК73 спорная модель. Больше всего от чего бесятся люди – суровые жесткие кнопки. О да… Кнопки заставят неопытного человека испытывать весь спектр негативных эмоций. Ну и аналоговых выходов у ПЛК73 меньше.
Поработав с обеими моделями, я оставил фаворитом ПЛК63. Как-то серьёзнее он выглядит, и кнопки легче нажимаются. Но очень жаль, что тут только один RS485.
Хочется второй RS485, Карл!
Что же, если очень хочется, помните, что у вас есть RS232-debug – тот порт, через который мы льем прошивку. Правда придется докупить преобразователь RS232 to RS485.
Среда программирования
Codesys 2.3. Про нее уже много чего написано. И не один ОВЕН ее использует (это плюс). Есть много бибилиотек (обратите внимание на Oscat). Среда не наша, а немецкая (как удивительно, да?). Функционала много, языки и текстовые и графические (расширенный МЭК 61131-3). Детальнее читаем в книжках.
А что там с Modbus?
Slave. Есть из коробки, сразу дает читать входа, выхода, нажатие кнопок, часы. Адреса новым переменным придется придумывать отдельно. Читается все без групповых запросов.
Но если очень хочется, можно и групповыми, есть описания в руководстве. Однако адреса в руководстве даны с ошибками.
Не огорчайтесь — один добрый человек уже нашел правильные адреса. Можно найти на форуме ОВНА или тут (уже залил, чтоб не потерялось).
Режим Мастер. Тут уже сложнее. Вам придется применить такую страшную вещь как «навыки программирования» – берете библиотеку Modbus.lib (ну или сами сделаете) и пишите взаимодействие с внешними устройствами. Звучит страшновато, но в некоторой мере это даст больше гибкости. Например, можно написать работу с кучей типовых устройств (те же частотные преобразователи), а не создавать кучу однотипных переменных
Плюсы:
- среда программирования;
- легко создать меню с уставками и настройками (Segnetics отдыхает)
- часы и память всегда «с собой»;
- возможность работать с нестандартными протоколами по COM порту;
- больше входов и выходов у ПЛК (в сравнении с Pixel);
- «из коробки» в меню ПЛК можно изменить типы датчиков, посмотреть их показания
- питание от 220В (наверно плюс, хотя придется предусматривать защиту по питанию в виде предохранителей и автоматов — уже был опыт с срабатыванием внутренней защиты по питанию).
Минусы:
- все модификации с питанием только от 220В;
- кнопки ПЛК73;
- модуль расширения только один;
- текстовый дисплей у ПЛК63 большой, но бестолковый — 2 x 16 символов;
- вход в меню с уставками одной кнопкой «Ввод». Мне лично не нравится, т.к. усложняет создание дополнительных меню;
- неудобно переносить меню из одной модели ПЛК в другую (тиражировать однотипные настройки). Приходится создавать заново. Раздражает.
Цены с сайта Овен (все модификации смотрите на сайте):
- ПЛК63-РРРУУУ-L (8DI; 8AI; 3 реле; 3 AO 0-10В) — цена 14 514 р
- ПЛК73-ККККУУУУ-L (8DI; 8AI; 4 транзистора, 4 AO 0-10В) — цена 14 986 р
- МР1-Р (8 реле) — цена 3 953 р.
Из личной коллекции:
![](https://habrastorage.org/web/6c0/8db/522/6c08db522c7644eaa763a50f5d237bad.jpg)
![](https://habrastorage.org/web/765/5ec/566/7655ec566df14709a8d7bb3c0305b488.jpg)
Segnetics SMH2g и Pixel
![](https://habrastorage.org/web/b6a/e66/c3f/b6ae66c3fbc744ef9bc80836ac32ffa5.png)
Итак, Pixel и его большой брат-форточник SMH2g. Есть еще SMH2gi с доступом к linux. Вроде как дает больше возможностей для любителей той самой страшной вещи как «навыки программирования».
Относительно I/O SMH2g не особо интересен без модулей расширения (на борту 4 DI / 4 DO и 5 DI / 2 DO для SMH2gi). У Pixel дела получше (6DI/3DO/5AI/2AO), но без модулей тоже не всегда обойдешься.
Важно заметить — Pixel гальванической изоляции по аналоговым выходам и входам НЕТ. Конечно, Segnetics в плане расширяемости заморочился. Можно даже Ethernet для Pixel сделать. Однако чтобы часы тикали без сбоев понадобится купить у Segnetics батарейку. И позиция эта отдельная. Так же с памятью. Докупаете отдельно (если вам, например, нужна работа по расписанию).
Еще маленький камешек в огород Segnetics — злые цены на кабель для соединения ПЛК с модулями расширения. На деле — обычный шлейф с разъемами IDC. Изготовить можно самим, купив все в магазине или радиорынке. Получится раз в 5 дешевле. Главное не напутайте с подключением.
В плане внешнего вида, удобства нажатия кнопок, дисплея – тут все отлично. Для большего пафоса Segnetics даже ни слова по-русски на корпусе контроллера не написал. Ну и нам приятно.
Среда программирования
SMLogix. Разработана Segnetics. Язык только графический со всеми минусами графических языков. Чтобы как-то удобнее можно было делать правки в программе — желательно делать блоки (они же макросы) по типу матрешки:
![](https://habrastorage.org/web/8a5/32f/6f8/8a532f6f868d4609bf5478f5bb2ae244.png)
Так вы не потеряете внешние связи в программе. Segnetics значительно повысил притягательность своего оборудования благодаря конфигуратору SMConstructor, который генерирует рабочую программу ПЛК для систем вентиляции (теперь и для ИТП). Останется подпилить ее под свои нужды.
Однако тот же Pixel не даст вам полного доступа к COM порту. Нужный вам протокол вы не напишите. Только Modbus.
А что там с Modbus?
Все неплохо. Каждую переменная, которую вы создаете, автоматически становится переменной Modbus. Так реализуется режим slave.
Для Master все тоже неплохо. Можно подгружать карты Modbus от других контроллеров Segnetics или создавать (и сохранять на компьютер) карту переменных отдельно. Для большинства задач этого должно хватать
Плюсы:
- мало времени для создания типовых программ для вентиляции;
- приятный дизайн оборудования;
- до 8 модулей расширения;
- можно всегда получить Ethernet.
Минусы:
- слабый «язык» программирования;
- отсутствие гальванической изоляции аналоговых входов и выходов (у Pixel);
- «из коробки» нет возможности менять тип аналоговых датчиков;
- нет возможности работать с нестандартными протоколами по COM порту (что-то может получится через linux у SMH2gi, но сама среда программирования такой возможности не даст);
- «плюющиеся» клеммы у Pixel. Наконечник типа НШВИ 1,5-8 частенько будет выталкиваться из клемм при закручивании. Рекомендую длиннее — НШВИ 1,5-12. Иначе рискуете много материться при монтаже.
Цены в свободном доступе. Приложу несколько позиций:
- Pixel-2511-02-0 — цена 11 054 р
- Pixel-MR602-00-0 Модуль расширения 6вых. (реле 5А), 2 аналог. вых. (0…10В) — цена 7 206 р
- Pixel-MR120-00-0 Модуль расширения 12вх. (NPN/PNP) — цена 5 190 р
- SMH 2G-4222-01-2 — цена 12 614 р
- SMH 2Gi-0020-31-2 — цена 17 064 р
- MC-0401-01-0 Модуль расширения для SMH 2G/SMH 2Gi; 9вх. (NPN/PNP)/10вых. (5 реле 5А, 5 оптореле 400 мА), 8 аналог. вх. (6 универс., 2 напряжение/ток 0...10В/4...20мА, 24 бит)/4 аналог. вых. (0...10В) — цена 10 582 р
Из личной коллекции:
![](https://habrastorage.org/web/fd1/11b/aa1/fd111baa15fc49cb9e18c9df092a4c9f.jpg)
![](https://habrastorage.org/web/1bd/a6d/d44/1bda6dd447a74dca95984642a5182b2f.jpg)
Schneider Electric M171/172
![](https://habrastorage.org/web/664/90d/0e4/66490d0e4a7442c2b56914371fa3ef90.jpg)
Познакомился с этой линейкой для HVAC около года назад. По тому, что прочитали на форумах — разработка итальянская, видимо была перекуплена Schneider.
М171 версия проще и дешевле, потому решили не мелочиться и взять M172. По входам и выходам – сказка. Например, модель TM172PDG42R – 42 I/O. Интерфейсы — Ethernet (M172), RS485 (у М172 их даже 2 шт.), CAN. Экран неплохой, графический. Прибавим к этому кучу всяких модулей расширения и получаем весьма интересное решение в плане аппаратной части.
Среда программирования
SoMachine HVAC. И тут начинается первая ложка дегтя. Среда не особо дружелюбная для начинающего. С документацией все плохо – готовьтесь шерстить поисковик.
Среда разбита как бы на несколько отдельных программ. У них даже ярлыки свои. В одной вы инициализируете интерфейсы и аппаратную часть, в другой рисуете экран, в третьей пишете программу. Youtube все лучше расскажет:
Есть и графические и текстовые языки. Есть ST (переменных типа Time нет – будете крутиться с DWORD). Так же тут дурацкая система инициализации переменных. Вы не сможете просто написать:
Var
Var1 : bool;
Var2 : bool;
End_var
Зачем так просто? Вы лучше каждую переменную создавайте мышкой через диалоговое окно. Перенос наработок с других сред программирования усложняется.
Но в целом здесь возможностей побольше, чем у SMLogix. Однако разработка все равно сырая.
А что там с Modbus?
Каждая переменная имеет свой адрес. Т.е. slave будет сразу. С Modbus в этом плане все неплохо. Все, да не все. Вот вам еще 1,5 ложки дегтя:
- 1 ложка – Master режим ВООБЩЕ не работает.
Сколько наш программист не бился, так и не смог запустить. Вместо этого на выходе RS485 мы получали только первый байт посылки. Т.е. адрес опрашиваемого устройства. Так на одном объекте нам пришлось дополнять щит – вставлять Овна ПЛК100, чтоб 100тый выполнял роль Master'a (картинка ниже);
- 0.5 ложки – Slave режим на объекте у нас падал в течении 12ти часов работы. Это касалось Modbus TCP. Лечится только сбросом питания. А вот тут уже не знаем чего делать – попробуем перенести опрос на COM порт.
UPD (август 2018)
С момента написания статьи прошло больше года. Поступили хорошие новости для М172:
Производитель выпустил уже несколько обновлений ядра контроллера. Так что вы можете и не столкнуться с перечисленными недугами ПО.
У нас, например, исчезла проблема с падением связи в Modbus TCP. (Если у кого-то есть положительный опыт использования — пишите, добавлю в статью).
Плюсы:
- большая линейка оборудования, модулей расширения;
- много интерфейсов;
- есть модификации ПЛК с большим количеством I/O;
- графический дисплей (старшие модели);
- есть выносная и настенная панель;
- неплохой внешний вид;
- несколько языков программирования.
Минусы:
- сырой продукт (во всяком случае, М172). Касается как ПО, так и самих ПЛК;
- недружелюбная среда разработки;
- нет нормальной документации по работе в среде программирования;
- никакой тех поддержки. Дистрибьютор еще чего-то пытался помочь – но и он не особо выручил;
- долгая поставка оборудования. В случае, когда надо все «вчера» – эти ПЛК не ваш выбор.
Цены на момент закупки:
К контроллерам надо отдельно покупать съемные клеммы.
- TM172PDG42R ПЛК М172, дисплей, 42 I/O, Eth — цена 26 991 р
- TM172ASCTB42 Терминальный блок с винтами на 42 вх/вых — цена 1 159 р
- TM172PDG28R ПЛК М172, дисплей, 28 I/O, Eth — цена 19 283 р
- TM172ASCTB28 Терминальный блок с винтами на 28 вх/вых — цена 989 р
Из личной коллекции. ПЛК100 (справа) как раз работает как Мастер вместо М172:
![](https://habrastorage.org/web/167/98b/061/16798b061e664b0a8b6e977a9b6daf35.jpg)
P.S. Еще немного о средах
Codesys 2.3. Порог вхождения выше, чем у среды программирования Segnetics, но и вещи можно делать более интересные (тут даже некоторые основы ООП есть). Потому вот так без опыта программу будет сложно написать/нарисовать.
Если вы решили изучать Codesys, то крайне рекомендую начинать с ST (Structured Text), паскалеподобного языка. У текстовых языков есть важнейшее преимущество – возможность переноса на другие среды, поддерживающие язык.
Автор уже имел опыт переноса программы из ПЛК63 на тот самый Schneider M172 с минимальными изменениями.
Графические языки изначально поманят вас наглядностью. Но не поддавайтесь – в больших программах вы запутайтесь, да и еще гибкость потеряете (элементарно не сможете закомментировать участок кода).
Only registered users can participate in poll. Log in, please.
А с какими ПЛК работаете вы?
37.86% ОВЕН53
18.57% Segnetics26
10.71% Schneider Electric15
50.71% Другие71
140 users voted. 58 users abstained.