Когда вы впервые в жизни берете контроллер в руки с мыслью запрограммировать его, вы думаете – как это вообще сделать?
ПЛК для новичка – это коробка с кнопками, лампочками и разъемами. Ничего не может, пока инженер не вдохнет в нее жизнь!
Какими средствами это делается? Читайте в этой статье!
Среда разработки и ее задачи
Как вы понимаете, сердце ПЛК – это программа, которую он исполняет, некий алгоритм работы устройств, подключенных к нему. Но как написать эту программу и поместить ее в контроллер? Тут на помощь приходят среды разработки.
Среда разработки (IDE, Integrated Development Environment) — это комплекс программных средств (проще говоря специальная программа, установленная на ваш компьютер), используемый программистами для разработки программного обеспечения (ПО).
Среда разработки программируемых контроллеров призвана решать следующие задачи:
- Конфигурация оборудования. Настройка самого ПЛК, модулей ввода/вывода (I/O), связи и тп. перед началом программирования.
- Разработка программного алгоритма. Написание логики системы автоматизации с использованием различных языков программирования.
- Тестирование и отладка. Запуск программы в автономном режиме для проверки функциональности без использования реального оборудования.
- Загрузка ПО и ввод устройств в эксплуатацию. Перенос протестированной программы в ПЛК и проверка его работы.
- Устранение неполадок и мониторинг. Выявление неисправностей, проверка состояния входов/выходов в режиме реального времени и обеспечение безопасной работы предприятия.
- Конфигурация модулей ввода/вывода. Настройка цифровых/аналоговых сигналов, фильтров и диапазонов.
- Настройка связи. Настройка протоколов, таких как Modbus и Profibus/Profinet.
- Обработка данных. Базы данных регистров/переменных/тегов, структуры, массивы, рецепты и регистрация данных.
- Интеграция с HMI/SCADA. Привязка регистров ПЛК к панелям оператора и системам SCADA; тестирование экранов и сигналов тревоги.
- Контроль версий и документирование. Сравнение проектов, создание отчетов, экспорт/импорт и ведение версий.
- Безопасность и обслуживание. Роли пользователей, пароли контроллеров, обновление прошивки, резервное копирование/восстановление.
Благодаря сочетанию этих функций среда разработки ПО для ПЛК – важнейшая платформа для инженеров, позволяющая эффективно проектировать, тестировать и обслуживать системы автоматизации.
Какую программу выбрать для программирования ПЛК?
На первый взгляд, выбор среды разработки кажется свободным и зависящим от личных предпочтений. Однако в реальности программист ПЛК не выбирает среду — это делает производитель контроллера. Среда разработки является неотъемлемой частью экосистемы конкретного производителя ПЛК и тесно связана с архитектурой аппаратного обеспечения, системой команд, протоколами связи и внутренней структурой исполняемого кода. Попытка использовать стороннее ПО для программирования контроллера, не предназначенного для этого, приведёт к несовместимости или полному отказу системы.
Поэтому выбор программной среды начинается с выбора самого ПЛК — оборудования, которое будет использоваться в проекте. Только после определения марки и модели контроллера становится ясно, какое программное обеспечение необходимо применять.
Но есть хорошая новость! ПЛК – это стандартизированное устройство. Все ПЛК, чтобы называться таковыми, должны поддерживать международный стандарт МЭК (IEC) 61131. В частности, МЭК 61131-3, этот раздел, описывает как раз программирование ПЛК. Поэтому все среды разработки так или иначе похожи, так как должны поддерживать этот стандарт.
Тут как у автомобилей – у кого-то руль справа, у кого-то слева, у кого-то коробка, у кого-то автомат, рулевые лепестки разные и т.п. Да, может быть неудобно пересаживаться с одного авто на другое. Но если вы знаете ПДД и уже водили хотя бы одну машину – привыкнуть не составит труда.
Примеры сред разработки для программирования ПЛК
Какие же среды разработки используют разные производители? Давайте разбираться.
OWEN Logic для программируемых реле Овен. Среда поддерживает язык FBD и частично ST. Также есть ПЛК Овен, которые программируются в средах CoDeSys, MASTERSCADA 4D, КРУГОЛ и Полигон.
SMLogix для ПЛК Segnetics. Поддерживает только язык FBD, который здесь, впрочем, частично напоминает CFC (не входит в стандарт МЭК 61131-3).
Astra IDE для ПЛК Regul. Поддерживает все языки стандарта МЭК 61131-3 (FBD, ST, LD, SFC, IL) и CFC. Очень похожа на CoDeSys.
EcoStruxure Machine Expert (ранее SoMachine) и EcoStruxure Control Expert (ранее Unity Pro) для контроллеров Schneider. Все языки стандарта МЭК и CFC. Очень похож на CoDeSys.
TIA Portal для Siemens. Наверное, самая «выпендрёжная» среда разработки. Почти все языки в ней названы по-другому и имеют какие-то особенности: FBD, ST - SCL, LD - LAD, SFC - S7-GRAPH, IL – STL. Есть также поддержка CFC за отдельную плату, хотя сама среда разработки, итак, оплачивается отдельно. Несмотря на все это, Siemens очень распространен за рубежом.
TwinCAT для Beckhoff. Поддерживает все языки: IL, FBD, LD, SFC, ST, CFC.
Studio 5000 Logix Designer для Allen-Bradley. LD, FBD, ST, SFC.
Sysmac Studio и CX-Programmer для Omron. LD, FBD, ST и SFC (только в CX-Programmer).
GX Works3 для Mitsubishi. Поддерживает языки LD, ST, FBD, SFC.
ISPSoft для Delta. Поддерживает все языки стандарта МЭК и CFC. Некоторые контроллеры также программируются в WPLSoft (только LD, IL и SFC), а некоторые в CoDeSys.
Стоит отметить, что доступность конкретного языка программирования в среде разработки может определяться конкретной моделью ПЛК. Кроме того, для разных линеек контроллеров одного производителя могут использоваться разные среды разработки (например, как у Овен и Шнайдер). Поэтому внимательно смотрите на сайте производителя, какая среда разработки вам нужна.
А есть ли универсальные программы, где можно программировать разные контроллеры?
И да, и нет. Да, есть среды разработки, в которые программируются ПЛК разных производителей. Но использование конкретной среды разработки по-прежнему зафиксировано производителем для каждого конкретного устройства.
Примеры таких сред разработки:
ISaGRAF. Поддерживает все языки стандарта МЭК 61131-3. Используется для программирования некоторых моделей ПЛК Трансформер-SL, Wiren Board 6, MKLogic_500, Текон, АГАВА, Fastwel, МОХА.
Полигон. Программы пишутся на графическом языке, основанном на функциональных блоках. Используется для программирования: ОВЕН, АБАК, REGUL, Fastwell, Beckhoff, Octagon, MIC2000.
MASTERSCADA 4D. Поддерживает все языки стандарта МЭК 61131-3 и C#. Используется для программирования: RealLab, Овен, REGUL, WirenBoard 7, ONI, Bolid.
CoDeSys. Поддерживает все 5 языков МЭК 61131-3, а также язык CFC. Наиболее известная и широко распространённая среда для программирования контроллеров. Поддерживается более чем 500 производителями ПЛК, среди них: Weintek, Овен, RealLab, XINJE, HCFA, АГАВА, АБАК, Inovance, Optimus Drive, Systeme Electric и др.
Где скачать среду разработки для программирования ПЛК?
Среду разработки всегда можно найти на официальном сайте производителя или поставщика вашего контроллера. Обычно она размещается в разделах «Поддержка» (Support), «Загрузки» (Downloads), «Программное обеспечение» (Software) или «Разработчикам» (For developers, devs).
Иногда для скачивания требуется регистрация, а иногда – приобретение лицензии. Но есть производители, которые предоставляют среду разработки бесплатно – что, несомненно, способствует их продвижению на рынке. Если же ПО для программирования платное – обычно производитель размещает бесплатные студенческие и демоверсии для обучения и тестирования.
Также на сайтах производителей часто доступны спецификации, руководства, примеры проектов, библиотеки функций и обучающие видео — всё это важно и для новичков, и помогает быстро познакомиться с новым оборудованием опытным пользователям.
Что еще нужно для программирования ПЛК?
Итак, вы установили среду разработки, что делать дальше? Помимо среды разработки иногда требуется скачать и установить дополнительное ПО для конфигурирования входов-выходов, диспетчеризации и визуализации или таргет-файлы. Уточнить, что еще вам нужно для конкретной конфигурации оборудования и системы можно на сайте поставщика или производителя.
Далее вам нужно написать программу. Опустим подробности этого процесса, расскажем об этом в других статьях, а еще лучше приходите к нам на курсы – там об этом подробно!
После того, как программа написана, ее нужно загрузить на контроллер. Для этого нужно к нему подключиться. Некоторые ПЛК подключаются к компьютеру обычным USB, некоторые через разъем RJ45 (Ethernet) и другие интерфейсы. Чаще всего на ПЛК нужно также подать питание – 220В или 24В (потребуется еще блок питания), но иногда достаточно питания USB. Также для отладки каких-то функций программы нужно подключить все датчики и исполнительные устройства (для тестов это не обязательно, можно обойтись математическими моделями или переменными-заглушками).
Когда все подключено и связь настроена, можно загружать программу и тестировать ее. Иногда нужно подключиться к ПЛК до того, как мы начнем писать программу, чтобы в процессе отлаживать свои алгоритмы. Иногда отладку можно провести в симуляторе и на контроллер загрузить готовый код.
После этапа пусконаладки и устранения всех ошибок программирование ПЛК считается завершенным.
С какой среды разработки лучше начать новичку?
Для новичка, стремящегося быстрее влиться в профессию, наиболее разумным выбором в текущей рыночной ситуации в России будет CoDeSys. Почему?
- Во-первых, эту среду разработки можно скачать совершенно бесплатно. Да, лицензия CoDeSys стоит денег, но обычно ее стоимость уже включена в стоимость оборудования.
- Во-вторых – это широкая распространенность в России и за рубежом – более 500 производителей ПЛК используют CoDeSys.
- В-третьих, CoDeSys является воплощением международного стандарта МЭК 61131-3, и принципы, изученные в нём, являются фундаментальными и переносимыми на другие среды разработки, такие как TIA Portal, TwinCAT, EcoStruxure и другие.
- В-четвертых, в нем есть встроенный симулятор, который позволяет производить отладку без использования реального железа.
- В-пятых, CoDeSys активно используется в образовательных учреждениях и входит в состав многих учебных лабораторий, включая российские.
Так у нас в школе есть стенды с симуляторами реальной насосной станции, где есть частотники и насосы, которые даже умеют выходить из строя и вызывать аварии.
Овладев логикой и языками программирования в CoDeSys, вы получите прочный фундамент, на котором можно строить свою дальнейшую карьеру. Затем, в зависимости от специфики работы и вашего региона, можно будет освоить и другие среды: SMLogix, TIA Portal, Studio 5000 или OWEN Logic; разобраться подробнее в железе и в техпроцессах.
А чтобы ваш путь в мире автоматизации шел быстрее и легче, приходите на курсы для инженеров АСУ ТП и КИП и А в нашу школу!
Занятия идут от простого к сложному, начиная от проектирования и создания таблицы сигналов и заканчивая нестандартной работой с протоколом ModBus и разработкой интерфейсов. Есть также занятия по контрольно-измерительным приборам и даже курс, где мы подробно разбираем 12 общепромышленных техпроцессов!
Будет интересно как новичкам, так и практикующим специалистам.
Чтобы узнать больше о курсах - записывайтесь на наш ближайший онлайн-вебинар на сайте: plc-edu.pro.