Чуть чуть промавтоматики или как прожить без Arduino но когда хочется что бы все само
Маленький длиннопост посвященный малоосвещаемой тематике автоматики, находящиеся в тени Arduino, для обычных пользователей, но широко известной обычным электрикам и показывающий как еще проще чем на Arduino сделать автоматизацию того же садового участка.
Не краткое но при этом очень нудное предисловие.
В промышленности, в отличии от радиогубительства и домашних поделок в области малой автоматики (различные SCADA системы, автор в виду своей некомпетентности лезть не собирается. Это вопрос далекого будущего, мы так, криль, плещемся на поверхности) можно выделить концепцию, в порошкообразном виде виде которая будет выглядеть так: EFLPHCS - Easy, Fast, Low Price, Hing Сompatible & Safety. Если разбавить водой то получим:
Просто - для автоматизации большинства рутинных операций можно обойтись минимум знаний по тематике, причем большинство знаний получаются за единицы часов из соответствующих справочных изданий. К примеру, автоматизация ВиК участка цеха или перевод машины с релейной логики на электронику у специалиста займет буквально три дня, включая опробирование результата на живую.
Быстро. Слово "быстро" стоит буквально везде:
Разработка программного обеспечения системы упомянутого ВиК или машины за счет языков высокого уровня, максимально понятных для инженера не занимает много времени и благодаря легкости восприятия кода позволяет меньше допускать ошибок, а за счет использования режима симуляции понять что мы сделали можно даже не используя железо, что очень удобно когда самого железа по тем или иным причинам еще нет.
Быстро потому что все блочное и стандартизировано. Бывают конечно косяки в реализации шин и интерфейсов, но в рамках одного производителя оборудования все можно согласовать без головной боли. Большинство шин используют ставшей классикой, концепцию шины от Phillips - i2c.
Датчики, работают по трем типам данных - току, напряжению и сопротивлению (последнее использует еще два графика - PTC и NTC); ответным механизмам необходимые сигналы могут поставлять как и сам контроллер так и специализированный блок. В качестве примера такого блока можно привести частотный регулятор или частотник, который отлично справляется и с регулировкой скорости работы электродвигателя и обеспечивает его защиту с одной стороны и с другой стороны весьма прост в обращении для персонала и контроллера, поскольку его команды четко расписаны. Опять же везде есть смеющиеся чертики и частности, не спорю.
Посадочные места аппаратов одного класса в рамках проекта как правило не сильно отличаются - не будет такого что вылетело реле Eaton, нашли Owen, а оно в шкаф не лезет даже если утаптывать ногами. В случае с Arduino подобными девайсами кроме вопроса поиска одинаковых или почти одинаковых корпусов - в Москве к счастью продукция Gainta не редкость, есть шанс столкнуться с "Я так вижу", когда разработчику не с тем делом захотелось поставить плату схожую с miniATX и на что и как ее менять в течении часа ночью в воскресенье никто не подумал, или подумал и решил что это не рентабельно, то в случае с Semens Logo! это вопрос вытягивания флешки из сгоревшего блока или заливка ПО в блок снятый с менее важного участка или хранения. Согласитесь что рентабельнее хранить блок за 5-10 тысяч рублей, который имеет у вас 20+ мест использования, нежели чем шкаф в сборе за 25-50 тысяч, который будет использован только в одном проекте.
Низкая стоимость. Стоимость бывает как и владения так и эксплуатационная.
Низкая стоимость обусловлена как и тем что это направление стало мейнстримом, так и начинкой этих блоков, очень хорошо знакомых любому держащим в руках Arduino или STM32 Discovery - процессоры PIC, Atmel, STM, Motorolla и NEC, реализация логики и сетевых интерфейсов на базе знакомых чипов. Фактически это ардуино приведенное к единой формуле, понятной инженеру и техникам.
Стоимость владения - приемлемый уровень качества и разработки обеспечивает долгие сроки работы при минимальном внимании обслуживающего персонала что с точки зрения экономики сокращает человеко-часы на обслуживание и соответственно затраты. То есть система работает по принципу покрытого пылью шкафа, до которого никому нет дела.
Высокая совместимость и похожесть систем напрямую относиться к термину "Быстро" - все работает по общим принципам и легко быть в курсе что здесь происходит и как выглядит процесс работы. Время тратится на детали и особенности конкретного оборудования или технологических процессов.
Безопасность. Промышленно разработанное устройство, прошедшее сертификацию как и подразумевает электробезопасность в целом, за счет корпусов и невозможности свободно коснуться электропроводящих частей так и внутренним устройством прибора, имеющим гальваническую развязку I/O (Input - Output, Вход-Выход) цепей.
Безопасность ПО. Кроме необходимости закладывать в ПО автоматическую блокировку, нацеленную на безопасность стоит учитывать что компания Mitshubihi не рекомендует использовать ряд реле в ответственных решениях, но на рынке есть ряд устройств Siemens, где в приоритете стоит что при ошибке в программе обеспечивается останов цикла.
Со стороны вышесказанного может показаться что я активно хейтерю разнообразные платы и проекты на базе Atemel и PIC, но в реальности мне хотелось показать основные причины почему эти платы с точки зрения проектов автоматизации идут во вторую очередь после всего готового.
Что есть что.
По сути устройства делятся на пару классов:
Программируемый контроллер.
Программируемое реле.
В чем отличие? В мощности и гибкости. Контроллер за счет других средств разработки, большей мощности железа позволяет применять более гибкие схемы логики, математики и взаимодействия с HID и сетью. Также значительно легче расширить его возможности за счет возможности подключения блоков расширения весьма широкого спектра (например, есть блоки адаптированные под тензодатчики - датчики веса) по шинам RS-485 (с протоколами MobBUS или проперетарным, основанными на нем же - Owen, например).
Реле же обречено выполнять относительно простые схемы автоматизации, сильно ограничено в возможностях расширения и железа - одна - две платы сетевых интерфейсов (иногда работающая только в режиме Slave) и до нескольких блоков расширения, дополняющие основные линии блока, кроме своих линий I/O вот и весь набор. Плюс логика основывается на весьма не гибких законах и при попытке реализовать что то забористое можно попасть в ограничения железа или софта. Но если не нужно с одного поста управлять целой мини-ТЭЦ или нет повышенных требований к безопасности то это оптимальный выбор. Иногда под "руководством" более умного и навороченного реле объединяют группу более мелких и "тупых" устройств. Поэтому на контроллер часто ложатся задачи или очень сложного оборудования или координация производств, а на реле - станки, отдельные узлы автоматики, домашнее применение. Основное отличие между отдельными реле это напряжение питания и линий - стандартное для АСУиТП 24В постоянки или сетевое, 220В; наличие и количество дискретных и аналоговых линий ввода-вывода. Также в списке опций присутствуют версии с часами, дисплеями, внешней Flash памятью или без оных.
Рассмотрим в качестве примера такую незамысловатую установку как приготовление условного корма на условных 100 голов птицы образца "Курица бройлерная". Кормить этих наследников динозавров мы будем комбикормом ПК-1. Подсмотрев состав обнаруживаем что нам нужно (утащил с одного птицеводческого сайта):
пшеница (62,5%);
шрот подсолнечный (17,5%);
известняковая мука (7,50%);
мясокостная мука (4,0%);
дрожжи кормовые (2,5%);
подсолнечное масло (2,3%);
пищевая сода (0,070%);
поваренная соль (0,101%);
Премикс П1-2 (витамины) (1%),
Выделив главное - получаем что нам нужно три главных танка: под пшеницу, подсолнечник, минеральные в-ва и отдельно бак с добавками.
Разработаем топологию производства, для упрощения модели выкинув в мусорку половину схем и девайсов, которые конечно при реальном производстве строго нужны и обеспечивают качество и безопасность кормов: сепараторы металла, веялки, грохоты, сита. И гранулятор.
Выкинув "лишнее" мы оставили три больших цилиндра, их весы, дробилку и миксер, бак добавок. Технологический цикл будет примерно таким:
В качестве устройств управления мы возьмем программируемые реле. На роль главнокомандующего навороченный ПР-200:
А в качестве дополнительных блоков, ответственных за подачу сырья более простые ПР-114
Поскольку реализация шины RS -485 предусматривает максимальную длину около 1,5м кабелем FTP (экранированный кабель для интернета, обжатый с двух сторон разъемом RJ-12) то нам потребуется все связать воедино, поскольку дело будет происходить не в одном щите: крайне не рекомендуется удлинять магистрали датчиков из за внесения помех в показания, причем иногда значительных. Самое лучшее - реализация через интернет. Но у нас же последовательная шина! Поэтому нужен конвертер.
Возьмем вот этот.
Ну и что бы оператору было понятно что происходит с установкой надо озаботиться HID - Human Interface Device или по нормальному Человеко-Машинный Интерфейс. К примеру, вот так:
Наглядно, просто, дуболомно. То что нужно для сельского хозяйства.
Осталось только составить топологию устройств.
Сделаем вот так:
Примерно поняв что мы хотим осталось только запастись электрическими схемами и начать их преобразовывать в программу. Как говорилось выше писать софт под релюшки суший кайф.
Вскользь я говорил так же про языки программирования.
Всего используется три основных языка:
ST - структурированный текст
FBD - Function Block Diagram - Блоки функций
L (Ladder) - Линейная схема.
ST будет интересен людям бегло и глубоко знакомыми с такими языками как С++, FoxPro и прочими языками ООП. Он самый главный язык для контроллера.
FBD и Ladder- они создавались в 70х-80х годов для инженеров -энергетиков и максимально приближены к им знакомым электрическим и логическим схемам.
Для меня привычнее язык FBD благо он максимально интуитивен и с ним работает среда Owen Logiс.
Язык FBD состоит из логических операторов, описывающих то или иное состояние контактов и метод их поведения. Так оператор ИЛИ имитирует обычное реле с двумя нормально открытыми контактами, которые выполняют функцию 1+0=1 или же 0+1 или так 1+1=1, что в общем говорит что любая логическая единица пришедшая на вход на выходе обеспечит высокий уровень (состояние включено) а вот оператор "Исключающее ИЛИ" описывает модель реле с одним нормально разомкнутым и нормально замкнутым контактом: 1+0=1 но 1+1=0. Оператор "И" не пошевелится без двух высоких уровней на входе: 1+1=1 или 1+0=0
Для тех кто думает что мы сейчас вызываем аццкую сотону объясняем происходящее. В логике используется два типа выходов - высокий, включено -1 и 0, отключено или низкий уровень.
Соответственно FBD на примере Owen будет выглядеть вот так:
Данная схема находится в допилинге и поэтому пока не сильно работает.
В данной схеме реализовано:
Таймер
Логика реверсивного пускателя
Логика обычного пускателя
Дополнительное промежуточное реле.
Если бы мы организовали это с помощью решений из 70х-80х годов то у нас это заняло бы целый шкаф размером 1,5 на 1,5 метра, который отчаянно гудит и спустя некоторое время начинает к себе привлекать внимание так как контакторы ПМЕ-111 крайне не любят грязь и механический износ. А проверка неисправности релейной схемы дело муторное и порой безнадежное, кончающиеся психами и срочной заменой вроде вполне исправного, но дико заглючевшего аппарата. А мы тут уместили все в коробке немного более чем 25 на 25 см, оставив в качестве силовых элементов пускатели на выходах Q1-Q3 и кнопки на входах I1-3, I7, а в качестве датчиков - очень надежные индуктивные. Так мы сокращаем поиск неисправности, ранее занимавший от 30 мин до 4 часов до 15-20 минут в любом случае. Разве это не прекрасно?
Проект разрабатывался как прощупывание почвы для этой машины - там электрооборудование расположено внизу под траверсой (подъемный месильный орган с моторами и механической частью) и постоянно находятся в грязи, чем вызваны многочисленные поломки и отказы приводящие к страшным простоям. А уж говорить о электробезопасности никто не станет - электрооборудование закреплено на Г образной металлической пластине которая никак не закреплена и просто валяется внутри, что стало причиной нескольких коротких замыканий и даже электротравм (ремонтника не сильно тюкнуло когда пытался хоть как то пристроить это безобразие).
А в случае нашего цеха вместо 6ти-9ти шкафов размерами 2,3 м на 1,5 метра и межцеховых связей, основанных на паре экранированных кабелей с 10ю жилами и силового кабеля на 32мм2 мы оставили в отделении хранения один шкаф и еще два - три шкафа в месильно-дозационном отделении. То есть на весь завод до 6ти шкафов с электрооборудованием и управлением, а межцеховые связи осуществляется через интернет кабель. Перестройка программы завода потребовала бы труд двух-трех инженеров - наладчиков, а поломки - труд пары квалифицированных электромонтеров. В нашем случае оператор или технолог сам способен внести правки в работу завода, а электромонтер вооружившись мультиметром за минуты изобличить уставшую кнопку. Поэтому промышленная автоматика потихоньку с реле РП-25 и иже с ним переходит на электронную симуляцию логики. Достаточно сказать что старинное 4х канальное реле времени занимало в шкафу до 40см в длину, 25 в высоту и глубину и представляло собой сложное электромеханическое устройство.
Текст мой, часть рисунков моя, за остальное - спасибо интернету.
Баянометр кажет дичь.