Первые шаги для освоения ПЛК ОВЕН
В любой автоматизации главным «мозгом» системы является программируемый логический контроллер. В него можно заложить некоторое слабое подобие искусственного интеллекта (ИИ). Пускай хоть и примитивного. Система может чувствовать с помощью своих сенсоров и датчиков, и реагировать на различные изменения, как живой организм. Может собирать данные или клепать вам продукцию. С помощью какого ПЛК лучше всего делать? Всё зависит от задачи и требований. Конкретно эта статья будет нацелена на программирование ПЛК ОВЕН.
Из этой статьи вы узнаете:
Приветствую друзья, на связи автор блога, Гридин Семён. Я всегда рад тому, что всё больше и больше людей посещают блог. Это говорит о том, что тема востребованная и интересная. На самом деле у меня очень много материала, который хочется выложить на страницы блога. Медленно и верно решаю поставленную задачу.
Знаете, я в последнее время всё чаще и чаще встречаю в интернете материалы крутых ребят из Boston Dynamics. Их продукция реально впечатляет. Это реальный прогресс в области робототехники. Боюсь даже представить что будет дальше. И интересно и страшно.
Вот кстати одно из интересных решений. Робот пытается открыть дверь, несмотря на то, что человек мешает ему:
А мы приступим к нашей новой статье.
Меня зовут ОВЕН ПЛК
Среди множества промышленных контроллеров, как отечественных, так и зарубежных, оборудование ОВЕН является самым приемлемым, доступным и качественным.
Первое преимущество, которое бросается на глаза — это конечно цена.
Допустим стандартные и наиболее популярные контроллеры ПЛК100 и ПЛК150 вмещаются в цену в 15 т.р. При этом у них сразу на борту есть входы и выходы.
К ним не нужно добавлять дополнительно модули ввода/вывода по внутренней шине. К девайсам с внутренней шиной как раз относятся WAGO, Berghof, ABB. Их ценник просто зашкаливает в размере от 25 т.р. К сожалению в любом проекте внедрить их будет не так то просто.
Второе преимущество, качество и надёжность. Фирма ОВЕН со временем всё больше и больше набирает обороты. Их продукция с каждым годом всё качественнее и качественнее. Как бы народ не ругался. Все ошибки и баги со временем исправляют.
Так вот. Все ПЛК поддерживают среду разработки CoDeSyS версии 2.3. У вас есть возможность ознакомиться на сайте. Можете посмотреть примеры и применить их на практике. Есть отдельная статья с видеоуроками.
На сайте ОВЕН у вас всегда есть возможность получить кучу информации, кучу дополнительных примеров, круглосуточную и доброжелательную тех. поддержку. Вообщем рекомендую.
Из их продукции мне очень нравится работать с ПЛК63/73, ПЛК100 и ПЛК160. Эти контроллеры наиболее надёжные и стабильные. НО. Как и у любого другого оборудования, у них есть куча нюансов. Это нужно понимать.
Во всех статьях, включая и эту, все примеры я буду писать под ОВЕН ПЛК63. Так как у этого контроллера есть буквально ВСЁ, что нам необходимо для локальной автоматики.
У него есть и дискретные входы и дискретные выходы. Есть 8 универсальных аналоговых входов и 2 аналоговых выхода (Всё зависит от модификации). На аналоговые входы можно посадить различные датчики, начиная от термопары и заканчивая датчиком размера (4-20 мА либо 0-10 В). есть два интерфейса RS232 и RS485.
Минусы тоже есть. Один из этих минусов порт интерфейса 232. Порт не очень хороший, может периодически терять связь с компьютером, когда мониторится программа. А если рядом срабатывают контакторы, вообще труба.
Скорость опроса АЦП маленькая, в пределах 50-80 мс. В некоторых процессах может сыграть отрицательно. Лучше всего использовать для измерений температур, давлений и влажности в медленных процессах.
Для того, чтобы связаться с модулями ввода/вывода, нужно писать специальные библиотеки для опроса, простого конфигуратора в таргете ПЛК63 нет.
Такой контроллер лучше всего использовать для отопления, приточной вентиляции, умного дома или как сборщик информации, который скидывает показания в базу данных.
Есть ещё не плохой контроллер, но он будет подороже и побольше, только без экрана. Это ПЛК160.
Скорость опроса аналогового входа составляет около 20 мс (это включая все фильтры, скорость обработки операции и т.д.)
Ну это, как вариант.
Первые шаги по программированию ПЛК
Какие у нас будут следующие действия?
Сначала устанавливаем среду разработки CoDeSyS 2.3, необходимые библиотеки и таргет контроллера ПЛК63. После этого мы можем связываться с оборудованием и писать простенькую программку.
Давайте придумаем какую-нибудь задачу — выведем на экран контроллера наше стандартное «Привет мир!» и при включённом питании будет включать и выключать свой выход в течении определённого времени.
Для простоты понимания напишу программу на графическом языке CFC. Так как он наиболее наглядный и удобный.
Для того чтобы вывести на экран приветствие «Привет мир!» нужно установить специальные библиотеки Ind_Mode и Work_Mode и написать небольшой код:
Давайте обозначим состояние 1 выхода, и зададим время включения и выключения:
Вот что получилось на экране прибора:
В принципе, ничего супер сложного нет.
Если будут вопросы, пишите в комментариях, пишите письма, всегда рад общению. До встречи в новых статьях. Всего доброго, счастья вам.
Источник
Что нужно для программирования микроконтроллеров?
Теперь, когда мы уже ознакомлены с некоторыми возможностями и функциями микроконтроллеров, естественно, возникает логичный вопрос: что нужно для программирования микроконтроллеров? Какие необходимы программы и устройства, где их взять?
Для того чтобы микроконтроллер мог решать задачи и выполнять определенные функции, его нужно запрограммировать, т. е. записать в него программу или же код программы.
Структура и порядок написания программы
Первым делом, прежде чем приступить к написанию любой программы, а точнее кода программы, следует четко представлять, какие функции будет выполнять микроконтроллер. Поэтому сначала нужно определить конечную цель программы. Когда она определена и полностью понятна, тогда составляется алгоритм работы программы. Алгоритм – это последовательность выполнения команд. Применение алгоритмов позволяет более четко структурировать процесс написания кода, а при написании сложных программ часто позволяет сократить время, затрачиваемое на их разработку и отладку.
Следующим этапом после составления алгоритма является непосредственное написание кода программы. Программы для микроконтроллеров пишутся на языке Си или Ассемблере. Только Ассемблер больше относится к набору инструкций, нежели к языку программирования и является языком низкого уровня.
Мы будем писать программы на Си, который относится к языку высокого уровня. Программы на Си пишутся гораздо быстрее по сравнению с аналогичными на Ассемблере. К тому же все сложные программы пишутся преимущественно на Си.
Здесь мы не будем сравнивать преимущества и недостатки написания программ на Ассемблере и Си. Со временем, приобретя некоторый опыт в программировании МК, вы сами для себя сделаете полезные выводы.
Сам код программы можно писать в любом стандартном текстовом редакторе, например в Блокноте. Однако на практике пользуются более удобными редакторами, о которых будет сказано далее.
Компиляция программы
Написанный нами код на Си еще вовсе не понятен микроконтроллеру, поскольку МК понимает команды только в двоичной (или шестнадцатеричной) системе, которая представляет собой набор нулей и единиц. Поэтому Си-шный код нужно преобразовать в нули и единицы. Для этого применяется специальная программа, называемая компилятор, а сам процесс преобразования кода называется компиляция.
Далее откомпилированный готовый код нужно поместить в микроконтроллер, а точнее записать его в память микроконтроллера или, проще говоря, прошить микроконтроллер.
Для прошивки МК применяется устройство, называемое программатор. В зависимости от типа программатора вход его подключается к COM или USB порту, а выход к определенным выводам микроконтроллера.
Существует широкий выбор программаторов и отладочных плат, однако нас вполне устроит самый простой программатор USBASP, который в Китае стоит не более 3 $.
После того, как микроконтроллер прошит, выполняется отладка и тестирование программы на реальном устройстве или, как еще говорят, на «железе».
Теперь давайте подытожим этапы программирования микроконтроллеров.
При написании простых программ можно обойтись без второго пункта, т. е. без составления алгоритма на бумаге, его достаточно держать в голове.
Следует заметить, что отладку и тестирование программы также выполняют до прошивки МК.
Необходимый набор программ
Существует множество полезных и удобных программ для программирования МК. Они бывают как платные, так и бесплатные. Среди них можно выделить три основных:
Все эти программы относятся к IDE – Integrated Development Environment – интегрированная среда разработки. В них можно писать код, компилировать и отлаживать его.
Следует обратить внимание на Code Vision AVR. Эта IDE позволяет упростить и ускорить написание кода. Однако программа платная.
На начальном этапе программирования все программы лучше прописывать вручную, без каких-либо упрощений. Это поможет быстро приобрести необходимые навыки, а в дальнейшем хорошо понимать и редактировать под свои нужды коды, написанные кем-то другим. Поэтому я рекомендую использовать программу Atmel Studio. Во-первых, она абсолютно бесплатна и постоянно обновляется, а во-вторых она разработана компанией, изготавливающей микроконтроллеры на которых мы будем учиться программировать.
Прошивка и отладка программы
Прошивать микроконтроллеры мы будем с помощью дополнительной программы AVRDUDE .
Если микроконтроллера в наличии нет, то его работу можно эмитировать с помощью программы Proteus. Она значительно упрощает процесс отладки программы даже при наличии МК, чтобы его часто не перепрошивать, ведь любой МК имеет конечное число перезаписей, хотя это число и достаточно большое.
При прошивке и отладке МК его удобно располагать на макетной плате, но это вовсе не обязательно. Поэтому для большего удобства пригодится и макетная плата. Существует большой выбор макетных плат, однако я вам рекомендую брать ту, которая имеет по возможности большее число отверстий. Когда мы начнем подключать семисегментные индикаторы, вы оцените преимущества «больших» макетных плат.
Еще один важный элемент, который нам пригодится – это техническая документация на МК, называемая datasheet. В общем, нужно скачать datasheet на микроконтроллер ATmega8.
Итак, полный набор для программирования МК состоит из таких элементов:
2) Datasheet на ATmega8
5) Программатор USB ASP (+ драйвер на него)
6) Макетная плата
7) Микроконтроллер ATmega8
Если микроконтроллера нет в наличии, не стоит откладывать изучение микроконтроллеров на потом, достаточно скачать и установить:
Источник
Форум АСУТП
jakudzaa здесь недавно
Сообщения: 14 Зарегистрирован: 29 июл 2008, 21:19 Имя: Петр Михайлович Страна: Ukraine
ПО для программирования контроллеров
Сообщение jakudzaa » 25 янв 2010, 19:13
Никита почётный участник форума
Сообщения: 3680 Зарегистрирован: 20 янв 2010, 22:23 Имя: Никита Страна: РФ город/регион: Мурманск Благодарил (а): 16 раз Поблагодарили: 162 раза
Re: ПО для программирования контроллеров
Сообщение Никита » 25 янв 2010, 20:25
jakudzaa здесь недавно
Сообщения: 14 Зарегистрирован: 29 июл 2008, 21:19 Имя: Петр Михайлович Страна: Ukraine
Re: ПО для программирования контроллеров
Сообщение jakudzaa » 25 янв 2010, 21:24
Никита почётный участник форума
Сообщения: 3680 Зарегистрирован: 20 янв 2010, 22:23 Имя: Никита Страна: РФ город/регион: Мурманск Благодарил (а): 16 раз Поблагодарили: 162 раза
Re: ПО для программирования контроллеров
Сообщение Никита » 26 янв 2010, 14:20
jakudzaa здесь недавно
Сообщения: 14 Зарегистрирован: 29 июл 2008, 21:19 Имя: Петр Михайлович Страна: Ukraine
Re: ПО для программирования контроллеров
Сообщение jakudzaa » 26 янв 2010, 19:24
Михайло почётный участник форума
Сообщения: 3114 Зарегистрирован: 10 ноя 2009, 04:58 Имя: Толмачев Михаил Алексеевич город/регион: г. Чехов, МО Благодарил (а): 3 раза Поблагодарили: 157 раз
Re: ПО для программирования контроллеров
Сообщение Михайло » 26 янв 2010, 19:32
ois_andrew здесь недавно
Сообщения: 61 Зарегистрирован: 31 июл 2008, 11:07 Имя: Андрей Владимирович ФамилияСкрыта Страна: РФ город/регион: СПб
Re: ПО для программирования контроллеров
Сообщение ois_andrew » 27 янв 2010, 10:10
Jackson администратор
Сообщения: 13178 Зарегистрирован: 17 июн 2008, 15:01 Имя: Евгений свет Брониславович Страна: Россия город/регион: Санкт-Петербург Благодарил (а): 338 раз Поблагодарили: 618 раз
Re: ПО для программирования контроллеров
Сообщение Jackson » 27 янв 2010, 10:16
Иронизирую:
Используем конроллеры DEIF, для программирования используем отдел программистов в соседней комнате. Кроме шуток. 🙂 С т.зр. пользователя программирование не требуется, требуется только настройка (с помощью бесплатного ПО USW).
Просто действительно вопрос очень общий.
pike частый гость
Сообщения: 479 Зарегистрирован: 08 авг 2008, 09:43 Имя: Щукин Андрей Александрович Страна: Россия город/регион: Москва Благодарил (а): 1 раз Поблагодарили: 21 раз
Re: ПО для программирования контроллеров
Сообщение pike » 27 янв 2010, 11:21
Контроллеры OMRON, ПО — CX-ONE. 😀 Работа
Ну, еще контроллеры FESTO, ПО — FST.
atamkosta read only
Сообщения: 462 Зарегистрирован: 31 янв 2010, 10:53 Имя: Konstantin Atamanchuk Страна: Ukraine город/регион: Dniepropetrovsk Поблагодарили: 1 раз
Re: ПО для программирования контроллеров
Сообщение atamkosta » 02 фев 2010, 23:05
Никита почётный участник форума
Сообщения: 3680 Зарегистрирован: 20 янв 2010, 22:23 Имя: Никита Страна: РФ город/регион: Мурманск Благодарил (а): 16 раз Поблагодарили: 162 раза
Re: ПО для программирования контроллеров
Сообщение Никита » 03 фев 2010, 00:15
CHANt эксперт
Сообщения: 1433 Зарегистрирован: 25 июл 2008, 09:25 Имя: Эдуард Владимирович Страна: СССР Благодарил (а): 27 раз Поблагодарили: 77 раз
Re: ПО для программирования контроллеров
Сообщение CHANt » 03 фев 2010, 09:21
atamkosta read only
Сообщения: 462 Зарегистрирован: 31 янв 2010, 10:53 Имя: Konstantin Atamanchuk Страна: Ukraine город/регион: Dniepropetrovsk Поблагодарили: 1 раз
Re: ПО для программирования контроллеров
Сообщение atamkosta » 03 фев 2010, 21:39
я ведь не спорю 🙂 На предприятии часто сборная солянка, но если речь идет о разработке то не получится писать с равным успехом на нескольких средах. Одно дело обслуживать и править существующее, другое дело писать с нуля. И еще речь идет не о FBD или лестницах, а о символьном программировании довольно большой «математики». Ведь везде есть нюансы. Сегодняшний пример из практики: кто помнит глюк с fb41 (ПИД) у семена до 2003года. Долго можно бороться с разносом теплообменника по протоку если не посмотреть даты :-). Подобные вещи онли практика :-).
Источник
Составление управляющей программы программируемого контроллера
Контроллер — это мозг для машины. Чем сложнее машина, тем функциональнее контроллер. Технически реализация мозга может быть разной – механика, пневматика либо гидравлика, релейные или электронные системы.
Если в конструкции используются реле или решения с «жесткой» логикой, то машина может выполнять только определенные действия — научить машину другим операциям нельзя без вмешательства в ее техническую часть. Такие функции имеют только программируемые логические контролеры или ПЛК.
Контроллер ПЛК — управляющее устройство на основе микропроцессоров, которое приспособлено к работе на производстве. Устройство программируется на упрощенных языках, доступных пользователю без серьезной подготовки.
Среда программирования
Стандартом для программирования ПЛК является языки МЕК. В начале 90-х годов для этих задач на рынке появилась ПО «CoDeSys». Продукт соответствует стандарту МЕК 61131-3 для работы с ПЛК. ПО пользуется большим спросом по причине бесплатной лицензии.
Сейчас этот программный пакет серьезно вырос. Кроме стандартных интегрированных в систему редактора кода, отладчика и компилятора также в состав включен конфигуратор для контроллеров, промышленных сетей, редактор для составления мнемосхем, отладочных сервер, серверы OPC и DDE. Многие производители ПЛК предлагают эту среду, как базовый инструмент для работы.
Литература
На прошлой неделе, подачи одного из пользователей GeekBrains, я всерьёз задумался над вопросом “Где можно пройти курсы по программированию микроконтроллеров?”, да и вообще о профильной литературе в целом (и это несмотря на профильное высшее образование и около 10 лет опыта работы). Дело не в том, что их не существует (есть и курсы, и книги), просто главный инструмент разработчика ПО для МК — техническая документация, поставляемая вместе с платформой.
Все универсальные книги могут описать отличия, преимущества и недостатки тех или иных микроконтроллеров, на что обратить внимание при написании кода, обучить “красоте” и основным принципам. Но огромный плюс и он же главный недостаток данной профессии — подробная индивидуальная инструкция по работе с каждым более-менее серьёзным контроллером
Это означает, что абсолютно любой человек может взять, прочитать её и через несколько мгновений организовать стандартное мигание “светодиодами”. Но даже с 50 годами стажа вы не сможете сесть за незнакомый микроконтроллер и, не читая документацию, сделать с ним что-то полезное (придётся, как минимум взглянуть на расположение контактов и их назначение по умолчанию).
Компиляция программы
Написанный нами код на Си еще вовсе не понятен микроконтроллеру, поскольку МК понимает команды только в двоичной (или шестнадцатеричной) системе, которая представляет собой набор нулей и единиц. Поэтому Си-шный код нужно преобразовать в нули и единицы. Для этого применяется специальная программа, называемая компилятор, а сам процесс преобразования кода называется компиляция.
Далее откомпилированный готовый код нужно поместить в микроконтроллер, а точнее записать его в память микроконтроллера или, проще говоря, прошить микроконтроллер.
Для прошивки МК применяется устройство, называемое программатор. В зависимости от типа программатора вход его подключается к COM или USB порту, а выход к определенным выводам микроконтроллера.
Существует широкий выбор программаторов и отладочных плат, однако нас вполне устроит самый простой программатор , который в Китае стоит не более 3 $.
После того, как микроконтроллер прошит, выполняется отладка и тестирование программы на реальном устройстве или, как еще говорят, на «железе».
Теперь давайте подытожим этапы программирования микроконтроллеров.
При написании простых программ можно обойтись без второго пункта, т. е. без составления алгоритма на бумаге, его достаточно держать в голове.
Следует заметить, что отладку и тестирование программы также выполняют до прошивки МК.
Необходимый набор программ
Существует множество полезных и удобных программ для программирования МК. Они бывают как платные, так и бесплатные. Среди них можно выделить три основных:
Все эти программы относятся к IDE – Integrated Development Environment – интегрированная среда разработки. В них можно писать код, компилировать и отлаживать его.
Следует обратить внимание на Code Vision AVR. Эта IDE позволяет упростить и ускорить написание кода
Однако программа платная.
На начальном этапе программирования все программы лучше прописывать вручную, без каких-либо упрощений. Это поможет быстро приобрести необходимые навыки, а в дальнейшем хорошо понимать и редактировать под свои нужды коды, написанные кем-то другим. Поэтому я рекомендую использовать программу Atmel Studio. Во-первых, она абсолютно бесплатна и постоянно обновляется, а во-вторых она разработана компанией, изготавливающей микроконтроллеры на которых мы будем учиться программировать.
Основы программирования ПЛК. Реле и контроллер
Логика загружается в ПЛК при помощи программного обеспечения. Это ПО определяет, какие из выходов будут под напряжением и какие входные условия нужны для любых изменений. Управляющая программа аналогична схеме работы физического реле, но физически нет ни реле, ни проводов, ни катушек. Все эти элементы – мнимые. ПО разрабатывается и просматривается на ПК, соединенном с интерфейсом контроллера.
Есть кнопка, контроллер и индикатор. Когда кнопка не задействована, сигнал на вход контроллера отправлен не будет. ПО, показывающее открытый вход, не отправит сигнал на выход. Так, на выходе ток отсутствует и лампа не будет гореть.
Если кнопку нажать, то на входной канал отправиться соответствующий сигнал. Контакты переведутся в активное состояние, как физическое реле. В данном случае контакт контроллера, открытый ранее, закроется и программа отправит сигнал на выход. Когда выходной контакт будет под напряжением, то индикатор загорится.
Контакты с индикатором соединены физическим способом. А сигнал виртуальный. Однако, все элементы существуют только в компьютерном ПО, а как физические – нет. Но принцип реле здесь используется. Также в программе можно задавать условия, которые будут проверятся и выполнятся контроллером.
Чтобы создать такую же схему, но на основе физических железных компонентов, понадобится три реле, где два открытых контакта – каждый из них будет использоваться. Но с помощью ПЛК можно не добавляя лишнего оборудования использовать столько контактов на каждый вход, сколько захочется.
Управляющие команды на языке релейной логики просты и понятны для инженеров-электриков. На графическом интерфейсе видны все логические операции. Это электрическая ц3епь с замкнутыми либо разомкнутыми контактами. Если по цепи протекает ток, что это истина. Если ток не протекает, тогда состояние – ложь.
Основой управляющей программы служат логические выражения, состоящие из операндов и переменных. Также программа состоит из операторов. Операторы – это команды языка программирования.
Инженер-программист ПЛК – это сегодня больше инженер, чем программист. Сейчас не нужны сложные языки, писать ассемблерные вставки. Достаточно использовать стандартные функциональные блоки.
Входы и выходы
В любом контроллере реализованы входы трех типов – дискретные, аналоговые, специальные.
Дискретный вход
Один вход может принять только один сигнал и он будет бинарным. Вход может быть либо включенным, либо выключенным. Один вход — это 1 бит. К этому входу подключают соответствующее оборудование.
Если состояние приборов не удается описать в 1 бит, тогда для работы такого оборудования применяют несколько дискретных входов.
Системное ПО обязательно оснащено драйвером. Он считает физические значения каждого входа в ОЗУ. За счет этого программистам нет нужды понимать, как устроен контролер внутри. Дискретный вход – биты, которые можно читать и изменять из оперативной памяти устройства.
Аналоговый вход
Электрический аналоговый сигнал — это уровень напряжения или тока, соответствующий определенным физическим величинам. Это может быть значение температуры, давления, веса, положения, скорости перемещения, частоты оборотов. Так как ПЛК – это прежде всего вычислительный прибор, то аналоговый сигнал переводится в цифровой. Получается дискретная переменная.
Специальный вход
Обыкновенные входы способны удовлетворить практически все нужды. Необходимость в в спец. входах появляется при трудностях в обработке сигналов.
ПЛК оснащены специализированными входами, позволяющие измерять длительность, фиксировать фронты, подсчитывать импульсы. К примеру, для определения положения валов, используют датчики, способные выдавать импульсы на один оборот. Частота может быть очень высокой. Даже на мощных процессорах процесс занимает много времени. В таких ситуациях и нужны спец. входы, способные первично обрабатывать информацию.
Второй тип таких входов – это входы, которые могут мгновенно запускать команды пользователей с прерываниями на выполнения основного ПО.
Дискретный выход
С одним выходом можно коммутировать только один сигнал. В качестве нагрузки на выходы могут использоваться различные исполнительные устройства.
Возможно, вам также будет интересно
Компания congatec объявляет о поддержке в модулях стандартов Qseven и SMARC новых 64-разрядных процессоров i.MX8 компании NXP Semiconductors. Будучи участником программы раннего доступа к продуктам компании NXP, новые модули от congatec будут доступны одновременно с запуском в производство нового семейства процессоров ARM Cortex A53/A72. Это позволяет OEM-клиентам congatec максимально эффективно реализовывать свои собственные стратегии выхода на рынок, поскольку они могут начать разработку платы-носителя для своих приложений и потом использовать готовые к применению модули congatec на основе …
На сегодняшний момент на российском рынке представлены десятки марок низковольтных преобразователей частоты иностранных и российских производителей. Среди них можно отметить ведущие европейские компании: Siemens, ABB, SEW Eurodrive, Control Techniques (корпорация Emerson), Schneider Electric, Danfoss, K.E.B., Lenze, Allen-Breadly (корпорация Rockwell Automation), Bosch Rexroth. Продукция этих п…
Новые РАС от ICP DAS – XP-8000-Atom, XP-8000-Atom-CE6
12 сентября, 2011ООО «ПЛКСистемы», официальный дилер ICP DAS в России, представляет новое поколение промышленных контроллеров серии XPAC от ICP DAS – XP-8000-Atom. Он комбинирует в себе функциональность и открытость ПК, надежность программируемых логических контроллеров (PLC) и возможности модулей ввода/вывода, что сильно влияет на улучшение показателя цена/производительность.
XP-8000-Atom построен на базе процессора Intel Atom и работает под операционной системой Windows Embedded Standard 2009 (WES) или Windows Embedded CE6. Контроллер оснащён различными типами соединений (VGA, USB, Ethernet, …
Структура и порядок написания программы
Первым делом, прежде чем приступить к написанию любой программы, а точнее кода программы, следует четко представлять, какие функции будет выполнять микроконтроллер. Поэтому сначала нужно определить конечную цель программы. Когда она определена и полностью понятна, тогда составляется алгоритм работы программы. Алгоритм – это последовательность выполнения команд. Применение алгоритмов позволяет более четко структурировать процесс написания кода, а при написании сложных программ часто позволяет сократить время, затрачиваемое на их разработку и отладку.
Следующим этапом после составления алгоритма является непосредственное написание кода программы. Программы для микроконтроллеров пишутся на языке Си или Ассемблере. Только Ассемблер больше относится к набору инструкций, нежели к языку программирования и является языком низкого уровня.
Мы будем писать программы на Си, который относится к языку высокого уровня. Программы на Си пишутся гораздо быстрее по сравнению с аналогичными на Ассемблере. К тому же все сложные программы пишутся преимущественно на Си.
Здесь мы не будем сравнивать преимущества и недостатки написания программ на Ассемблере и Си. Со временем, приобретя некоторый опыт в программировании МК, вы сами для себя сделаете полезные выводы.
Сам код программы можно писать в любом стандартном текстовом редакторе, например в Блокноте. Однако на практике пользуются более удобными редакторами, о которых будет сказано далее.
Структура и устройство ПЛК
Контроллер можно образно предоставить в формате мини-компьютера, но очень компактного и с особенностями. ПЛК, как и ПК, состоят из оперативной памяти, процессора, вспомогательного периферийного оборудования. Однако, дело еще и в том, что промышленные контроллеры должны выполнять не только расчетные задачи, как ПК, но и заниматься сбором информации от массы устройств – это датчики, сенсоры. Также контроллер и выдают сигналы в цепи.
Сейчас выпускаются контроллеры в различных форм-факторах. Это:
- Устройство типа «всё в одном». В одном корпусе объединен процессор, память, выходы/входы;
- Распределенные решения – процессорный модуль с обвязкой сделан в виде отдельного блока, а по шине или через интерфейсы подключатся модули для вывода и ввода.
Первые модели встречаются очень часто, однако, они рассчитаны на эксплуатацию в малых объектах и системах, где нужно обрабатывать малое количество сигналов.
Второй вид контроллеров используют в промышленности гораздо шире – производства с полнофункциональными АСУ требуют значительно большего числа сигналов, которые требуется обрабатывать. Если производство масштабное, то удобнее разнести модули вводы вывода по территории с объединением в единую сеть, которая подчиняется отдельному логическому контроллеру. Такие сети называют полевыми сетями или fieldbus. К этой седи подключаются датчики, исполнительные системы, которые являются интеллектуальными, так как имеют эту возможность.
Существует масса видов полевых сетей. Стандарт IEC61158 (МЭК61158) включает в себя 8 видов сетей. А до введения этого стандарта каждый производитель придумывал и использовал свою полевую сеть.
В структуре ПЛК имеется базовые компоненты:
- Модуль процессора;
- Блок питания;
- Модули для ввода/вывода.
Процессорный модуль оснащен встроенной памятью. Имеются разъемы для программатора, удаленных устройств, для подключения к сетям. Питание реализовано в виде отдельного блока. Модули могут быть дискретными либо аналоговыми.
В зависимости от того, сколько каналов для ввода и вывода и какой тип процессора, модули ввод/вывод могут быть установлены на одном шасси с ЦП или на нескольких. До конца 80-х годов модули для ввода и вывода данных располагались отдельно от процессора. В стандартном контроллере современного типа модуль входов и выходов находится на одном шасси с микропроцессором. Некоторые ПЛК позволяют устанавливать более одного микропроцессора.
Модели меньших размеров очень часто предназначены под DIN-рейку. Самые компактные микро или даже нано устройства имеют всю систему, включая адаптер питания и систему ввода/вывода в одном корпусе. Микро-контроллеры иногда оборудуются встроенными панелями для настройки и мониторинга. Большинство микро-решений имеют определенное количество каналов входов/выходов и увеличить их не возможно. Как пример — плата ардуино
Прошивка и отладка программы
Прошивать микроконтроллеры мы будем с помощью дополнительной программы .
Если микроконтроллера в наличии нет, то его работу можно эмитировать с помощью программы Proteus. Она значительно упрощает процесс отладки программы даже при наличии МК, чтобы его часто не перепрошивать, ведь любой МК имеет конечное число перезаписей, хотя это число и достаточно большое.
При прошивке и отладке МК его удобно располагать на макетной плате, но это вовсе не обязательно. Поэтому для большего удобства пригодится и макетная плата. Существует большой выбор макетных плат, однако я вам рекомендую брать ту, которая имеет по возможности большее число отверстий. Когда мы начнем подключать семисегментные индикаторы, вы оцените преимущества «больших» макетных плат.
Еще один важный элемент, который нам пригодится – это техническая документация на МК, называемая datasheet. В общем, нужно скачать datasheet на микроконтроллер ATmega8.
Источник