или свяжитесь с нами по телефону +7 (495) 792-57-57
* - обязательные поля
Программирование ПЛК сводится к заданию назначения с присвоением уникального адреса каждому входу-выходу и алгоритма формирования и выдачи команд на выходы, в зависимости от сигнала на входах. О том, как программировать контроллеры читайте в данной статье.
15.12.2023
Первые относительно сложные схемы автоматического управления были построены на электромеханических реле. С развитием промышленной автоматизации возникла необходимость замены элементной базы. Реле потребляют относительно большую электрическую мощность, подвержены отказам, требуют регулярной замены контактных групп, кроме того, устройства обладают невысокой скоростью коммутации.
Первые логические котроллеры появились в 60-х годах прошлого века. Одно устройство заменяет громоздкую релейную схему с большим количеством электромеханических элементов. Полупроводниковые контроллеры не имеют механических контактов, подверженных износу, потребляют значительно меньше мощности, лишены других недостатков электромеханических реле.
Устройство состоит из программной и аппаратной части. Последняя включает:
Устройство разных видов контроллеров может несколько различается. Некоторые устройства комплектуют встроенными регуляторами ПИ или ПИД, схемой часов реального времени. Модульные контроллеры поддерживают подключение блоков расширения с входами и выходами или модулей дополнительных интерфейсов.
Программная часть состоит из встроенного и загруженного программного обеспечения, задающего режимы автоматического управления. Различают программы с открытым и закрытым кодом. Первые можно дорабатывать под требования управления тем или иным технологическим процессом самостоятельно. Возможности изменения ПО с закрытым кодом ограничено производителем.
Логический контроллер работает циклически. Алгоритм работы устройства включает следующие процессы:
Цикл повторяется многократно в течение всего времени протекания управляемого технологического процесса. Современные контроллеры также могут работать с другими ПЛК по принципу «ведущий – ведомый» а также независимо друг от друга (в схемах с резервированием).
Программирование контроллера сводится к заданию назначения с присвоением уникального адреса каждому входу-выходу и алгоритма формирования и выдачи команд на выходы, в зависимости от сигнала на входах.
Для программирования plc используют встроенные или модульные панели управления, мобильные программаторы и персональные компьютеры. Установка простых программ осуществляется с дисплея контроллера или программатора, для установки больших сложных пакетов ПО применяют ПК, подключенные непосредственно к контроллеру или через сеть.
Простейший язык программирования ПЛК – язык релейно-контактных схем. Рассмотрим последовательность действия установки программы контроллера на примере.
На рисунке представлена простейшая релейная схема управления электродвигателем.
При замыкании контакта Х1 на катушку реле подается напряжение. Нормально разомкнутые контакты электромеханического устройства при этом замыкаются, напряжение подается на двигатель.
Заменяем электромеханическое реле контроллером. Для этого нужно присвоить назначение входам и выходам.
В представленном примере цепь управления питается от источника постоянного тока. Шины питания обозначаются параллельными прямыми, с левой стороны находится «+», справа «-». Присваиваем соответствующему клеммам контроллера такое назначение.
Катушка обозначается как:
назначаем выходы контроллера, аналогично присваиваем выходам Х2 и Х1 назначение нормально замкнутого
и нормально разомкнутого контакта
В результате получаем схему управления электродвигателем, где электромагнитное реле заменено контроллером.
Рассмотрим еще один пример. Схема автоматического поддержания уровня в резервуаре обеспечивает включение насоса при достижении нижнего допустимого значения и отключение при достижении нижнего.
Схеме питания насоса задают выход Y1, датчикам верхнего и нижнего уровня Х1 и Х2 соответственно, внутреннему реле ПЛК присваивают наименование М1. Программа автоматического поддержания уровня будет выглядеть следящим образом:
При изменении уровня меньше допустимого порога на оба входа Х1 и Х2 подается сигнал, при этом на выходе М1 формируется и подается команда на запуск насоса. Когда жидкость достигает нижнего допустимого значения, сигнал на входе Х1 изменится на нулевой, при этом выход Х2 по-прежнему будет подаваться сигнал от датчика верхнего допустимого уровня. При его достижении сигналы с обоих датчиков изменяются на «0», виртуальные контакты внутреннего реле М1 размыкают цепь питания насосного агрегаты. Насос прекращает работу.
Данные схемы демонстрируют возможности контроллеров и приведены для лучшего понимания. Реальные возможности современных логических устройств намного шире. Кроме релейных выходов и входов для прямого управления силовыми агрегатами, существуют следующие входы-выходы:
Линейка логических устройств включает оборудование с различным набором функций, от программируемых реле для управления несложным оборудованиям до ПЛК для распределённых автоматизированных систем управления технологическими процессами.
Для того, чтобы назначить входы и выходы, задать алгоритм управления необходимо написать и ввести соответствующую программу. ПО контроллеров пишутся на нескольких языках программирования. Разобранные выше примеры написаны на одном из визуальных языков релейной логики LD (Ladder Diagram или лестничная диаграмма).
Для стандартизации языков программирования ПЛК был разработана система нормативов МЭК 61131-3. Согласно стандарту, для написание ПО промышленных контроллеров применяют 5 языков: три графических и два текстовых.
Один из самых простых и понятных визуальных языков плк. Программировать на Ladder Diagram может практически каждый инженер, знакомый с релейной логикой.
Программные команды имеют вид графических символов и имеют следующую структуру:
Примеры графических обозначений:
нормально разомкнутый контакт
управление по переднему фронту входного сигнала
управление по заднему фронту выходного сигнала
«SET/RST» – состояние сигнала операнда,
«END» – окончание программы и так далее.
Прочитав символ, процессор начинает опрашивать соответствующий вход и изменять состояние выхода в соответствие с заданной командой.
SFC или Sequential Function Charts представляет собой прикладной пакет, который позволяет проектировать и составлять программы в максимально понятной для неспециалистов форме. Программирование ПЛК напоминает составление блок-схем алгоритмов. Логика формируется при помощи шагов и обусловленных переходов.
Код ПО имеет вид:
ПО подходит для программирования управления высокодинамичными процессами, подробной детализации сложной логики.
FBD или Function Block Diagrams использует символы функциональных блоков: элементов логики, арифметических, тригонометрических, ПИ и ПИД-регуляторов и т.д.
Таким образом, из компонентов составляется программная единица. Язык функциональных блоков дает полное наглядное представление о назначение и функциях написанного ПО.
IL или Instruction List – текстовой язык программирования контроллеров для профессиональных программистов. На его основе можно создавать быстродействующие программные единицы.
Код, составленный на этом языке, имеет следующий вид:
Главное достоинство IL – унификация. Язык подходит для любого типа микропроцессоров.
Structured Text – текстовой язык программирования контроллеров для различных категорий пользователей. В основе ST – базовые языки Ada, Pascal и C.
Код выглядит следующим образом:
ST – базовый язык для написание последовательных алгоритмов с переходами к выполнению определенных инструкций при соответствии или несоответствии с заданными условиями.