Для тех, кто сталкивается с этим словом впервые, поясню. ПЛК это специальный мини-компьютер, который работает так:
1. Принимает входные дискретные (Di) или аналоговые (Ai) сигналы;
2. Обрабатывает эти сигналы по заданной программистом программе;
3. Выдает управляющий сигнал через дискретные (DO) или аналоговые (AO) выхода.
Дискретный — когда у сигнала может быть только 2 состояния: 0 или 1, «да» или «нет». Например, кнопка нажата или отжата, лампочка включена или выключена.
Аналоговый — когда значение параметра зависит от уровня электрического сигнала. Например, чем выше уровень сигнала (вольт или миллиампер) от датчика температуры, тем больше измеряемая температура.
Применяются ПЛК в основном в промышленности, станках, системах домашней автоматизации «умный дом» и т.д.
Естественно, в силу профессии меня интересует все, что касается ПЛК и другого оборудования, применяемого в АСУ ТП. Как-то, бродя по сети, я зашел на сайт американской компании Velocio, которая производит ПЛК серий Ace, Branch, Embeded.
Главные фишки этих контроллеров — маленький размер, всего 2.5'' x 2.5'', питание 5 вольт и цена от 49$ за модель с 6 дискретными входами и 6 дискретными выходами. Особенно впечатлил размер, такого маленького ПЛК я еще не встречал:
ПЛК меня заинтересовал, я связался с компанией Velocio и мне прислали контроллер модели Ace 3090v5. Хотелось бы вкратце рассказать об этом ПЛК и более широкой аудитории Хабра. Забегая вперед скажу, что ПЛК компании Velocio лучше всего подходят для «умных домов» и прочих систем домашней автоматизации.
Вот ко мне пришла посылочка с контроллером прям из города Хантсвилл, штат Алабама:
Состав посылки:
1. ПЛК Velocio Ace 3090v5, $179
2. Крепление на DIN-рейку, $5
3. Коннекторы сигнальных линий (3,4,8 pin, шаг 2.5 мм), 6 шт., $6*3
4. Отвертка плоская, жало 1.5 мм, бесплатно
5. Коннектор питания (2 pin, шаг 2.5 мм), $2
6. Кабель USB Am-miniB, $5
Кабель USB для программирования Ace не обязательно покупать в Velocio, это обычный кабель USB Am-miniB, который продается в любом компьютерном магазине. Коннекторы тоже можно поискать в другом месте, но крепление на DIN-рейку уникально и его нужно покупать вместе с контроллером.
Ожидания Ace 3090v5 оправдал, он действительно очень маленький:
Характеристики:
Название | Velocio Ace 3090v5 | |
Назначение | ПЛК для домашней и промышленной автоматизации | |
Кол-во DI | 6 | |
Кол-во DO | 18, транзисторные | |
AI | Кол-во, всего | 7 |
Кол-во AI 16 бит/ тип | 4/ Термопары J, K, T, N; ±0.256 V, ±0.512 V, ±1.024 V, ±2.048 V |
|
Кол-во AI 12 бит/ тип | 3/ 0…+5 V | |
Порты связи | Mini USB(может работать по Modbus), RS-232 | |
Протоколы передачи данных | Modbus RTU slave | |
Скорость передачи данных, bps | 9600, 19200, 38400, 57600 | |
Крепление | DIN-рейка | |
Питание | 5 V DC | |
Габариты | 63.5х63.5х12.7 мм | |
Температура эксплуатации | -40… 85°С | |
Степень защиты IP | IP65 | |
Среда программирования | Velocio vBuilder, бесплатная | |
Цена | 179 $ |
Конструкция
При своих размерах, контроллер в общей сумме имеет 31 вход и выход, порт последовательной связи RS-232 и порт Mini USB для загрузки программ и связи с внешними устройствами.
Спереди на корпусе видны светодиоды индикации питания и состояния дискретных входов и выходов:
Сзади на корпусе имеются выемки для монтажа крепления на DIN-рейку:
На боковых стенках корпуса находятся порты для подключения всех сигналов через разъемы. Порты маркируются литерами A, B, C, D, E, F:
Подключение проводов происходит через коннекторы COMBICON PTSM Series фирмы Phoenix Contact с шагом ножек 2.5 мм (0.098''):
Вставляются провода в коннектор с помощью идущей в комплекте с ПЛК отверткой так:
Дискретные выхода- транзисторные, на то есть такие причины:
- реле в корпус контроллера все равно не поместится
- для обеспечения большого быстродействия, например при управлении шаговыми двигателями
Естественно, для коммутации электрической сети 220 В транзисторные выхода не подходят и нужно после них ставить промежуточные реле. Можно купить модули с промежуточными реле там же у Velocio, при покупке ПЛК. А можно сэкономить и купить на ебее аналогичные китайские платы, как сделал я:
Аналоговые входа (Ai) в Ace 3090v5 разделены на 2 группы:
- 3 Ai с общей землей в порту A, диапазон входных сигналов 0… 5 V
- 4 Ai дифференциальных в порту F, подключение датчиков температуры(термопар) типа J, K, T, N, а так же милливольтных сигналов
Вот я подключил на вход Ai F1 термопару типа «К» от китайского тестера и вывел значение температуры на ноутбук:
Кстати, в этом примере я термопару в контроллере не калибровал. Тем не менее, показания температуры соответствовали значениям спиртового градусника, который выступал у меня в роли контрольного прибора.
Ace отличается маленьким энергопотреблением: 5 В при макс. силе тока до 0.3 А. То есть, в качестве блока питания можно использовать 5-вольтную зарядку для мобильника.
Программирование
Разработка программ осуществляется через бесплатную среду программирования vBuilder. В пакете установки находится так же драйвер виртуального COM-порта, необходимый для подключения контроллера к компьютеру:
Изучение vBuilder лучше начать с просмотра видеоуроков. Есть так же полная документация на английском языке под названием «vBuilder Manual» в несколько сотен страниц.
Разработка программ возможна на двух графических языках: языке релейной логики(Ladder Logic) и языке блок-схем(Flow Chart).
Язык релейной логики (Ladder Logic) это хорошо известный всем программистам ПЛК язык LD, который является одним из стандартизированных по стандарту IEC 61131-3 промышленным языком.
LD придумали специально для того, что бы на нем писали программы не только программисты, но и обычные электрики. Программа на LD и выглядит, как электрическая схема:
Это легкий для изучения и работы язык.
Язык блок-схем (Flow Chart) это графический язык, на котором программа создается в виде блок-схем:
Блок-схемы и принципы их построения многие помнят еще со времен информатики в школе. Например, я закончил 11 класс в 1999 году, в мрачные времена постсоветского компьютерного средневековья. Тогда фирма «Интел» уже торговала процессорами Pentium-II, Билл Гейтс продавал Windows 98, а в нашей школе стояли советские компы «Электроника» с черно-белыми экранами. Большую часть урока мы сидели за партой и рисовали программы в тетрадях именно блок-схемами. Потом переводили их на бейсик, садились за «Электронику» (по 4 человека на машину) и уже после вводили в компьютер. А в других школах вообще компьютеров не было.
Так что для начинающих язык Flow Chart даже легче, чем LD. При этом, по моему мнению, он нагляднее и позволяет создавать более сложные программы. Кстати, блок-схемы я часто использую и сейчас, работая с различными ПЛК. Когда мне нужно продумать какой-нибудь сложный алгоритм, я сначала рисую блок-схемы на листике, а потом уже перевожу их в программу на конкретном языке.
В обоих языках программирования доступны одни и те же программные блоки:
- сравнение(<, >,= и др.)
- присваивание с возможностью ввода формул
- копирование
- счетчик
- таймер
- часы реального времени
- цифровой фильтр
- чтение энкодеров
- управление шаговым двигателем
- ПИД-регулятор
- ШИМ
- плавный пуск/останов
- масштабирование
- побитовый сдвиг и «переворот» числа
- статистика
- управление com-портом для реализации собственных протоколов передачи данных
- вызов подпрограмм
В качестве «быстрого хэлпа» по программным блокам используется та же страница загрузки vBulder. Просто жмешь по пиктограммам соответствующих блоков vBuilder справа на странице и читаешь, как они работают:
Если с английским совсем туго, на помощь придет переводчик браузера Ghrome: правая кнопка мыши-> перевести на русский. Перевод технический, но смысл будет понятен.
Доступные возможности при программировании:
- создание собственных переменных (тэгов) типа bit, unsigned int 8/16 bit, signed int 16/32 bit, float;
- создание массивов;
- создание подпрограмм;
- причем, подпрограммы здесь это объекты по типу FB как в Step-7 и Codesys;
- каждому входу/выходу и тэгам можно назначить адрес для передачи их значений по Modbus;
- cвязь по Modbus с ПК, сенсорными панелями и др. по Modbus в режиме slave; возможно подключение по Modbus к 2-м мастер-устройствам одновременно;
- возможность реализовывать собственные протоколы передачи данных по RS-232;
- отладка программы по шагам.
Подключение Ace к компьютеру и сенсорным панелям
Для связи с внешними устройствами по сети в Ace 3090v5 имеется 2 порта: RS-232 и USB. Оба этих порта могут передавать данные по протоколу Modbus RTU slave. Одновременно к Ace могут быть подключены 2 мастер устройства. Например, компьютер по USB, а сенсорная панель по RS-232. Для управления с компьютера применяются специальные программы типа SCADA, но можно и на каком-нибудь визуал бейсике программу написать.
RS-232 это старый добрый COM-порт компьютера. Раньше в него мыши подключались. Для подключения компьютера к Ace я и нашел старую комовскую мышь с шариком, отрезал от нее хвост и подключил его к 3-пиновому разъему RS-232 Aсe вот по такой схеме:
Если в компьютере нет COM-порта, нужно купить любой преобразователь USB/RS-232 по цене около $8.
Варианты реализации обмена данными Ace с внешними устройствами:
- по внутреннему протоколу Ace для связи с компьютером, на котором установлена бесплатная SCADA vFactory;
- по универсальному протоколу передачи данных Modbus RTU для связи с компьютерами, сенсорными панелями и другими ПЛК;
- по собственному протоколу, реализованному программным путем в контроллере.
Бесплатная СКАДА vFactory работает только с ПЛК компании Velocio, потому что использует не Modbus, а внутренний закрытый протокол контроллеров. Документации на vFactory нет, чтобы ей овладеть, достаточно одного видеоурока. Очень простая СКАДА без скриптового языка и возможности ведения архивов. Панель инструментов невелика:
Зато, можно быстро сделать работающую программу без особых навыков программирования:
Если возможностей vFactory маловато, можно подключить по протоколу Modbus RTU любую другую SCADA. Например, в ролике с термопарой, я применил SCADA Trace Mode 6 Base.
Можно в Ace запрограммировать и собственный протокол передачи данных, этому посвящен отдельный видоурок.
ПЛК Ace в домашней автоматизации
Думаю, этот контроллер хорошо себя покажет в системе «умный дом». Плюсы контроллера: маленький размер, малое энергопотребление, питание всего от 5 В, множество дискретных выходов, возможность подключения термопар, 2 порта связи с внешними устройствами, легкость программирования, большое количество разных программных блоков.
Если контроллер Ace понравился, но 6 дискретных входов маловато, можно присмотреться к серии Branch — тот же Ace, только с возможностью подключения модулей расширения (до 450 входов/выходов). Впрочем, это уже без меня — мне пока хватит поиграться Ace.
Комментарии (24)
totuin
29.04.2015 10:41+1Преимущества — законченное устройство со своей готовой средой. Удобно для тех кто не хочет заморачиваться с паяльником.
Недостатки — цена, отсутствие выведенных интерфейсов SPI, I2C. Невозможность подключения дисплея, Ethernet и т.п. Ну и все таки буржуинское происхождение. Все таки пока, если не считать законченного корпуса, Arduino выигрывает. Происхождение у неё конечно то же не российское, но по крайней мере — друзья китайцы выручают. Среда то же есть кстати Российская. А корпус при прямых руках — думаю не проблемма
totuin
29.04.2015 10:59Посчитал, 209 баков комплект. Вы знаете Logo от Siemens по моему дешевле. А там уже реле на выходе, и дисплей встроенный.
ExplodeMan Автор
29.04.2015 11:17Logo это логическое реле, а Ace- ПЛК. С точки зрения программирования, это как мопед против грузовика. Посчитайте Logo с модулями расширения, что бы получилось 31 i/o + RS-232, выйдет намного дороже. У многих заводов требования- выхода ПЛК развязывать через промежуточные реле, мы так всегда делаем в своих проектах и потому применяем ПЛК с транзисторными выходами. А дисплей- да, с дисплеем всегда лучше, чем без. Но если надо, для вывода на экран данных из любого ПЛК с Модбас применяются текстовые дисплеи и сенсорные панели. За отдельные деньги, конечно.
koltykov
29.04.2015 12:06+2Отечественные «Овен ПЛК» ИМХО ничем не хуже. По возможностям больше Logo!, по надежности тоже весьма неплохи. Отечественная техподдержка и документация… codesys… и т.д.
shuvaevgl
29.04.2015 11:11Зачастую успех продукта определяет не цена или удобный софт, а распространенность и сообщество вокруг продукта, которое создает модули. Для Arduino есть несчетное количество аппаратных и программных модулей, куча форумов, где можно обсудить и развить проект. Для нового продукта с американского рынка дорога будет сложнее, хотя бы потому, что продукт не известен у нас и кому задавать вопросы?
Наглядный язык програмирования хорош до тех пор, пока не приходится править мелкие нюансы, а тут лучше работать с кодом.
Да и стоимость самого ПЛК в 179$ в сравнении с Arduino 10$ «за пучок» в РФ, наводит на мысль купить Arduino. При сравнительных ценах Z-Wave уже имеет свой протокол, интерфейс и совместимые модули, когда воткнул и заработало, а тут надо программировать.
Автор, за обзор спасибо, штука интересная, но цена отбивает желание экспериментировать.
Bluefox
29.04.2015 12:45+1У устройства один большой недостаток: а где Ethernet или на худой конец WiFi?
eta4ever
30.04.2015 02:18Вот взять бы более простых версий штучек несколько, да в одну скаду загнать. Только вот RS-232 тут нон когорта роза. Но если завернуть их в RS-485… То получится пресловутый троллейбус из буханки.
Finesse
Какие преимущества и недостатки этого контроллера относительно других микрокомпьютеров (например, Arduino Uno)?
ExplodeMan Автор
Если сравнивать с Ардуно, то минусы такие:
1. Нельзя увеличить кол-во входов/выходов через модули расширения.
2. Нет текстового языка вроде си, как в ардуно. Т.е. возможностей для программирования меньше.
3. Ардуно с модулями на такое же, как в Асе, кол-во входов/выходов выйдет дешевле.
Плюсы Асе:
1. Это не конструктор, а уже законченное устройство в корпусе. Что бы из ардуно аппаратно сделать подобный плк, нужно к ардуно подключить платы с транзисторными выходами, платы входов с оптической развязкой, плату с max232 для интерфейсаRS-232, плату АЦП для ввода сигналов термопар, плату с часами реального времени, и все это поместить в корпус.
2. Проще в программировании. Я, например, свой сайт год назад за неделю сделал на вордпресс, потому что с ним можно быстро разобраться, а если бы писал все сам на php, не сделал бы до сих пор. Так и Асе- хоть возможности графических языков меньше си, зато сможет разобраться человек без особой подготовки.
3. Встроенный Модбас.
4. Своя простая СКАДА.
Finesse
Да, оформленный корпус это большой плюс. В этом плане Arduino сделано как устройство для обучения, а не готовый продукт.
Насчёт выходов не понятно: какие выходы у Arduino, если не транзисторные и не релейные? Да и АЦП в Arduino имеется.
Отсутствие текстового языка не мешает написанию программ, предназначенных для устройств, внедряемых в производство?
ExplodeMan Автор
У ардуно ножки выведены прям на микропроцессор, напрямую к ним ничего подключать нельзя, только через транзисторы или реле. АЦП имеется, но напрямую тоже лучше не подключать, нужно подключать через что-то.
В стандарте IEC 61131-3 из 5 промышленных языков, 3 графических. Большинство программ в пром.автоматике созданы на LD и FBD, такие программы легче сопровождать в условиях изменения персонала.
Lovesuper
Почему вы говорите Ардуно? Ар-ду-и-но. А теперь повторим все вместе!
Avega
Есть подозрение, что это объединение двух слов: Arduino Uno => ArdUno.
risik
Соглашусь с автором. Из моего личного опыта (2 года работал в компании, разработывающей промышленную автоматику и телемеханику), в промышленности львиная доля программ пишется на LD (графический). На втором месте FBD (графический) и ST (текстовый).
Хотя лично для меня язык LD это что-то чудовищное, я его толком так и не осилил :)) Поэтому жаль, что здесь поддерживаются не все языки стандарта IEC 61131-3
ExplodeMan Автор
У меня была та же история- при обучении сформировав свое программистское мировозрение на си и паскале, я долго не мог въехать в концепцию LD и первое время на Випе и Симатике писал в IL(хорошо, выбор языка оставался за мной). Это тот случай, когда знания мешают.
Satyricon
Мне компания подрядчик заплатила, чтобы я сам на LD функционал нужный написал в нашей системе. Подряд то они выиграли, а в LD никто не разбирался. Как по мне — отличная штука.
morgreek
Вот-вот! Моя бывшая
женаорганизация в своё время отказалась от одного контроллера, который на релейной логике работал. Программистов было мало и никто не захотел связываться с LD-контроллером (не помню, к сожалению, какой), когда была ничуть не хуже альтернатива в виде отечественного контроллера на FBD.risik
ну как по мне:
> -40… 85°С
> IP65
это однозначные плюсы по сравнению с Ардуино.
totuin
К сожалению не нашёл пост, но точно помню что был здесь, где испытывали ардуинку и при минусе и при плюсе. IP65 — Вопрос прямых рук при создании корпуса (или использовании готового). Ну и надежность изделия так же зависит от прямоты рук.
risik
Вот именно, что надо самому испытывать. Или искать, что кто-то испытал. А тут сразу вопросы пояыляются. А точно ли испытали устройство из той же партии, что Ваша? А точно ли соблюдена методика испытания?
Примерно то же самое с корпусом.
Здесь же производитель гарантирует и промышленный температурный режим и IP65.
Вообщем, я согласен с Вашим комментарием ниже. Ace — это законченное устройство, которое можно взять и использовать. Ардуино это конструктор для гиков.
Пока я не заню чего я хочу, я возьму, скорее всего, Ардуино. Когда я точно знаю что я хочу получить и в каких условиях я буду эксплуатировать, я буду смотреть на готовые устройства типа Ace.
totuin
Вообще системы умного дома можно разделить на две категории: «DIY» и «BAY».
BAY — приходит дяденька с большим кошельком в контору и говорит:«Хочу что бы все в доме было умно — вот бобло». Вот тут и требуются подобные устройства которые позволяют конторе сохранить себе кусочек побольше от отстегнутого пирога. Все красиво, есть
сертефикаты, проверки, бумажки. А внутри возможно та же ATmega.
DIY — нет большого кошелька, но есть голова и прямые руки. Arduino и подобное в помощь.
Варианты без любого из этих пунктов (кошелёк или голова+руки) можно не рассматривать.
Счастливый вариант — кошелёк+голова+руки — вот тут возможен выбор что больше нравится. Но он к сожалению очень редок.