Программирование ПЛК на языке LD — это программирование программируемых логических контроллеров на языке логических диаграмм.
Общие сведения о программируемых логических контроллерах
Программируемый логический контроллер (ПЛК) – это электронное устройство, предназначенное для автоматизации процессов в промышленности, транспорте, энергетике и других отраслях. Он состоит из процессора, оперативной памяти, входных и выходных модулей, а также программного обеспечения.
ПЛК используется для управления различными процессами, такими как, управление конвейерами, обработка материалов, управление системами отопления и охлаждения, управление системами безопасности и так далее. Он может выполнять различные функции, такие как логические операции, арифметические операции, управление двигателями и другими устройствами.
Программирование ПЛК осуществляется с помощью специальных языков программирования, таких как Ladder Logic, Structured Text, Function Block Diagram и других. Программы для ПЛК создаются инженерами-автоматиками и содержат логику управления процессом.
ПЛК имеет множество преимуществ перед традиционными решениями управления процессами. Он обладает большой гибкостью и возможностью быстрой перенастройки на другой процесс, а также высокой надежностью и стабильностью работы.
Программирование ПЛК на языке LD
Язык логических диаграмм (LD) - это графический язык программирования, который используется для проектирования программных контроллеров. LD использует схемы, состоящие из контактов и катушек, которые соответствуют физическим сигналам и действиям, выполняемым ПЛК.
Язык LD содержит графические элементы, которые образуют схемы, содержащие графические элементы, такие как контакты, катушки, блоки и связки. Эти элементы предназначены для осуществления следующих функций:
- Контакты. Использование контактов предоставляет информацию о состоянии устройств или процессов. Контакты необязательно представляют физический контакт, а могут быть логическими.
- Катушки. Катушки отображают действия, выполняемые ПЛК, и используются для формирования управляющего сигнала.
- Блоки. Блоки являются основными элементами схем и определяют последовательность операций, выполняемых контроллером.
- Связки. Связки применяются для управления потоками данных, передаваемых между элементами схемы.
В качестве примера рассмотрим создание одного из вариантов штабелера. Штабелером является «крыло», которое, находясь в исходном состоянии, с паузой после начала проката должно подхватить лист металла и поддерживать его в процессе движения. После остановки проката и отсечения листа оно должно выполнять «отскок» вперед, чтобы освободить конец листа, падающий на приемное устройство, именуемое гидростолом.
Затем «крыло» должно вернуться в исходное состояние. При этих движениях выполнение проката должно быть остановлено. По завершении задания (создания требуемого количества листов необходимой длины) «крыло» должно переместиться в заключительную позицию за пределы гидростола.
Осуществление возврата в исходное состояние должно происходить после нажатия кнопки «Штабелер». А исполнение самого задания должно начинаться по нажатию кнопки «Прокат», при этом длина каждого листа и общее их число должно отображаться на панели оператора. При нажатии кнопки «Сброс» прокат должен остановиться, и штабелер переходит в режим паузы. При повторном нажатии этой кнопки выполняется реальный сброс системы управления. Продолжение процесса проката при нахождении в ситуации паузы, может быть выполнено при помощи кнопки «Прокат».
Алгоритм управления штабелером в виде пары взаимодействующих конечных автоматов (КА) изображен на рисунке ниже.
Рисунок 1. Алгоритм управления штабелером. Автор24 — интернет-биржа студенческих работ
Один из автоматов реализует алгоритм работы с датчиками, а другой автомат выполняет алгоритм управления штабелером. Реакция на сигнал паузы, на кнопку «Штабелер», а также на сигнал запуска осуществляется стандартными средствами языка LD.
Процесс программирования должен начинаться с формирования модели программы. В рассматриваемом примере используется модель в виде конечного автомата. Модель может быть создана при помощи графического редактора, например, Microsoft Office Visio. Он имеет все возможности, помогающие построить граф, подобный графу автомата на рисунке выше. При этом, чем более сложным является автомат, тем больше выгод может принести его использование. Затем, к примеру, методом обычного копирования компонентов созданного графа можно формировать графы уже любой сложности.
В рассматриваемом примере от графического редактора требуется не очень много:
- Обозначать состояния в виде кружков с пометками внутри, то есть, задавать имена состояний (это могут быть просто номера).
- Соединять состояния при помощи направленных дуг и помечать их условиями переходов и выдаваемых сигналов. Помимо этого, Visio предоставляет возможность легко изменять вид графа, перемещая вершины, что ведет к автоматическим коррекциям соединяющих их дуг.
Автоматная модель может позволить дать объективную оценку сложности будущей программы. Она зависит от количества состояний автомата, числа входных и выходных каналов, связности графа, то есть, от множества и разнообразия переходов, и сложности предикатов и действий.
Предикаты и действия в варианте ПЛК являются достаточно простыми. Как правило, это прочитать вход ПЛК в случае предиката или установить выходной сигнал в случае действия. Но следует отметить, что логика алгоритма, включая взаимодействие с другими функциональными блоками, является достаточно сложной.
После создания модели можно переходить к ее реализации. Перейдя в дерево проекта, в папке функциональных блоков (ФБ), следует создать заготовку, а именно, функциональный блок. Он должен обладать элементами, соответствующими конструкции автомата на языке LD. В минимальном варианте это два входа и один выход. Входными каналами являются канал сигнала сброса и канал с присвоенным автомату элементом массива текущих состояний автомата. Выходным каналом является элемент массива теневых состояний с индексом равным индексу текущих состояний.