Как программировать на codesys 2.3 новичку? Легко
Перед тем, как программировать ПЛК в среде разработки CoDeSyS 2.3 новички часто задаются вопросом: А какие системы требуется установить для корректной работы с аппаратом?? А как конфигурировать входы и выходы контроллера?? А каким образом связать устройство с ПК?? И снова, а как, а как?? Все мы с вами понимаем, устройства сложные и алгоритмы объёмные, и на изучение потребуется время. Я вот думаю, может написать небольшую книжку и назвать codesys для чайников? А вы согласны?
Из этой статьи вы узнаете:
Как работает ПЛК?
Из чего состоит программный комплекс для полноценной работы с ПЛК
Рабочее окно программы
Простой пример на ST
Здравствуйте уважаемые коллеги и гости. Пишет вам автор блога kip-world.ru, Гридин Семён, и в этой статье я вам расскажу, как правильно программировать контроллер. Тема достаточно актуальная, я надеюсь после прочтения статьи, некоторые вопросы отпадут самим собой. =)
Как работает ПЛК?
ПЛК(программируемый логический контроллер) — это устройства полностью автоматизирующие работу аппаратов, различных агрегатов и станков. Фактически, это некий блок, который содержит входы и выходы, для подключения датчиков и исполнительных органов. Внутри прописывается логика.
Вычисления в устройстве выполняются циклически. То есть одни и те же действия выполнения программы выполняются в короткий промежуток времени.
отзывы о фирмах ремонт квартир под ключ.
В один цикл осуществляемый прибором выполняются следующие операции:
- Начало цикла;
- Чтение состояния входа;
- Выполнение кода пользователя;
- Запись состояния выходов;
- Обслуживание аппаратных ресурсов;
- Монитор системы исполнения;
- Контроль времени цикла;
- Переход на начало цикла;
Не буду больше разглагольствовать по теории. Давайте сразу перейдём к практике.
Из чего состоит программный комплекс для полноценной работы с ПЛК
Конечно вам поначалу покажется, что слишком много нужно знать, чтобы связать друг с другом основное приложение и утилитки, а потом соединить устройство. Я хочу вам сказать, что ничего сложного в процессе установки и связей — нет. В этом поможет моя статья.
Для начала нам нужно установить основной дистрибутив CoDeSyS 2.3 c официального сайта ОВЕН. А, я предлагаю во многих постах, касающихся программирования, использовать устройство ОВЕН ПЛК63. Так как это универсальное устройство с экраном. У него на борту есть и дискретные входы, и аналоговые входы, и релейные выходы.
Итак, скачиваем программу:
Затем следует стандартная процедура установки. Указываем путь и все время жмём “Далее”, “Далее”.
Следующим этапом будет установка таргетов для плк. Таргет — это некое описание о конфигурации ПЛК. Инструкция подсказывает CoDeSyS 2.3, какое количество и какие входы/выходы имеет устройство.
Скачиваем также с сайта ОВЕН. Рекомендую установить все таргеты, которые там есть. Чтобы потом не искать и не думать об этом, если придется писать алгоритм на другой ПЛК.
Запускаем автоматический установщик, устанавливаем инструкции. Всё, половину пути мы с вами уже сделали в этой работе! После этих всех процедур можно устанавливать библиотеки, но о них позже. Переходим к следующему пункту.
Рабочее окно программы
Дистрибутив мы с вами установили, таргеты тоже. Давайте мы с вами рассмотрим рабочее окно среды разработки, элементы меню и основные вкладки.
Основное поле на рисунке выше делится на три области:
- Редактор переменных и их типов;
- Дерево объектов;
- Редактор основного алгоритма программы;
Редактор переменных — здесь мы с вами вводим переменные и присваиваем им типы данных. Для тех, кто не знает, переменная — это имя, к которому будет обращаться программа и возвращать результат. А тип данных определяет род информации, диапазон представления чисел и множество других операций.
Дерево объектов — в этом окне располагаются такие объекты, как функции, функциональные блоки, подпрограммы, конфигурация ПЛК, библиотеки. Об этом я расскажу позже.
Редактор программы — тут мы с вами описываем основной алгоритм программы работы контроллера. Пишется на любом языке стандарта МЭК. Более подробно, можете прочитать статью.
Простой пример на ST
Для удобства восприятия информации я постарался структурировать. Поэтапно расписал последовательность действий. Если возникнут вопросы или пожелания, обязательно пишите в комментариях.
Изначально я размещу в статье код на языке ST. Логика работы заключается в следующем: на дискретный вход прибора подаётся сигнал и через задержку времени включается выход. В принципе задача простая, и мы с вами её решим.
1 2 3 4 5 6 7 8 9 10 11 | PROGRAM PLC_PRG VAR T1:TON; ('таймер') Timer_Ust:WORD:=5; ('уставка таймера') Time_tekuch:TIME; ('текущее время') END_VAR T1(IN:=Start , PT:=DWORD_TO_TIME(Timer_Ust*1000)); Time_tekuch:=T1.ET; IF T1.Q THEN Out:= 1; ELSE Out:=0; END_IF; |
Запускаем наш дистрибутив, создаём новый проект, указываем нужный нам таргет. Не забудьте предварительно проверить, что у вас установлены драйвера на преобразователь USB-COM, он нам понадобится для связи.
Далее заливаем код, который я указал вам в начале статьи в соответствующие окна программы.
В листинге присутствуют две глобальные переменные Start и Out. Они связаны с физическими входами и выходами. Настройки все мы осуществляем во вкладке конфигурация ПЛК.
Компилируем проект (проверяем его на актуальность кода, чтобы не было ошибок). Можно нажать кнопку F11.
Вводим нужные настройки связи, как на картинке.
Собираем нашу схему логического программируемого контроллера. Подключаем интерфейс RS-232 с одной стороны и USB с другой. Жмём “подключение”. Ощущаем радость от процесса. =)) Если произошла ошибка связи, то проверьте ещё раз все подключения и параметры. Часто бывает, что провод преобразователя оборван.
Весь процесс я записал на видео, если будет что-то непонятно.
В следующей статье я напишу о мобильном приложении aliexpress, не пропустите. Будет интересно.
Успешных вам внедрений, дорогие читатели и гости. Если понравилась статья, подписывайтесь на новости блога и расскажите друзьям. А на каком языке и оборудовании вы предпочитаете строить систему автоматизации?
С уважением, Гридин Семён.
хорошая статья
Спасибо, я старался.
Семён спасибо, было бы очень хорошо и познавательно для чайников, если бы Вы взяли какой нибудь несложный проект и проехались бы по нему с комментариями (объяснили все тонкости проекта). Думаю было бы интересней.
Здравствуйте.
На всех средах использующих FBD всегда перечень функциональных блоков можно вызвать или правой кнопкой мышки или нажав соответствующую кнопку. Почему в codesys 2.3 нигде нет подобного. И даже в справке не удается найти перечня и описания ФБ. И в интернете данный вопрос не поддается поиску. Меня охватывает ужас: неужели все стандартные у всех других средах функциональные блоки в codesys каждый блок нужно писать заново?
В кодесис все блоки стандартные находятся в библиотеках. Их просто нужно добавлять по мере необходимости…