ПЛК (программируемый логический контроллер) — это устройство, служащее для решения задач по автоматизации технологических процессов. Основные блоки, имеющиеся у каждого ПЛК, — модуль центрального процессора (CPU) и модули ввода/вывода. Все остальное уже по желанию: коммуникационные процессоры, функциональные модули, интерфейсные модули и так далее.
Важное условие работы ПЛК — работа в реальном времени, это значит, что реакция системы должна быть строго оговорена. А дальше ПЛК делятся по исполнению: моноблочный, с дополнительными модулями, с удаленными модулями ввода/вывода, совмещенные с панелью оператора и другие. И главное отличие контроллеров между собой — это мощность CPU и количество памяти.
Программирование ПЛК происходит с помощью специальных IDE-программ. Программа пишется на одном из пяти языков программирования:
- LD (Ladder Diagram) — язык релейных схем — самый распространённый язык для ПЛК.
- FBD (Function Block Diagram) — язык функциональных блоков.
- SFC (Sequential Function Chart) — язык диаграмм состояний.
- IL (Instruction List) — ассемблероподобный язык.
- ST (Structured Text) — паскалеподобный язык.
Первые три графические, последние два текстовые. Графическое представление облегчает понятие логики программы, в то время как текстовый язык позволяет добиться большей гибкости.
К главным недостаткам графических языков программирования ПЛК можно отнести неэффективность при обработке процессов с большим количеством аналоговых переменных, так как графические языки больше подходят для представления дискретных сигналов.
Недостатки текстовых языков — отсутствие наглядности и требование более высокой квалификации программиста.
Для каждой задачи удобно использовать свой язык. Например, принцип построения программы на SFC близок к образу конечного автомата. Технологические процессы в этом языке построены по типу определенных шагов. Структура шагов состоит из вертикали, которая идет сверху вниз. Каждый шаг — это конкретные операции. Как только шаг выполнен, действие переходит к следующему шагу. Переход между шагами может быть двух видов: условным и безусловным. Если на шаге выполнено какое-то условие и в зависимости от этого условия происходит переход к определенному шагу, то это условный переход. Если же происходит выполнение всех условий на данном шаге и только потом осуществляется переход на следующий шаг, это безусловный переход.
Написание простой программы для ПЛК не представляет сложности для человека, знакомого с элементарной логикой. В то же время для написания сложной программы требуется знание основ программирования и специальные знания в области ПЛК.
Например, в программе часто необходим прием аналоговых сигналов, преобразование аналогового сигнала в инженерные величины: значение давления датчик выдает в виде токового сигнала 4…20 мА, и для представления в программе нужно выполнение преобразований. Общение по сетевому интерфейсу, например Modbus, требует знания специфики этого протокола. Для настройки ПИД-регулятора нужны знания технологического процесса. Прием и обработка сигналов с инкрементального датчика требуют выполнения расчетов в программе.
На каждом объекте используется своя логика программы. Невозможно сделать универсальную программу, которая бы на 100% выполняла все задания. Поэтому программа для ПЛК пишется под конкретную задачу.
Производители контроллеров предпринимали попытки снизить порог вхождения в программирование ПЛК, но это все приводило к ухудшению качества программ, ее универсальности и невозможности реализации всех задумок.
Таким образом, альтернативы классическим языкам программирования ПЛК и специализированных IDE разработчика на данном этапе развития промышленной электроники не существует. Но шаги в этом направлении ведутся, и, возможно, лет через 10–15 промышленные ПЛК будут программироваться через встроенный в них веб-браузер с любого устройства и предоставлять обширный инструментарий, схожий с существующими IDE.
Вам также будет интересно:
- Для чего нужен и почему используется именно RS-232 в ПЛК? Это же древний интерфейс!
- Для чего нужен и почему используется именно RS-485 в ПЛК? Это же древний интерфейс!
- Что такое термосопротивление в применении ПЛК?
- Что такое термопара в применении ПЛК?
- Что такое резистивные датчики в применении ПЛК?
- Что такое AO (аналоговый выход) в ПЛК. Для чего он нужен?
- Что такое AI (аналоговый вход) в ПЛК. Для чего он нужен?
- Что такое DI (дискретный вход) в ПЛК. Для чего он нужен?