Программирование на языке ladder
Язык релейных диаграмм LD и его применение
Язык релейных или лестничных диаграмм LD (от англ. Ladder Diagram) представляет собой простой в обращении, графический язык разработки. В его основе лежат релейно-контактные схемы, поэтому элементами логики здесь выступают: обмотки реле, контакты реле, горизонтальные и вертикальные перемычки.
Пары контактов реле или кнопки — вот основные логические переменные языка LD, при этом состояние переменных — это есть ни что иное, как состояние контактов: разомкнутое или замкнутое.
Сама же программа на данном графическом языке представляется аналогом релейной схемы, в которую может входить множество различных функциональных блоков. В общем и целом, синтаксис языка LD позволяет очень просто строить логические схемы для релейной техники.
Немного истории
Как таковой, язык релейных схем существовал еще во времена Томаса Эдисона, и лишь в начале 1970-х он был адаптирован для первых ПЛК. В самом начале данный язык появился в пакетах программирования ПЛК компаний Modicon и Allen-Bradly, причем символика была заимствована именно из электротехнической области.
Язык LD изначально был предназначен для инженеров по автоматизации, работающих на предприятиях. Интерфейс программирования наглядно преподносит логику работы контроллера, позволяет легко решать задачи ввода в эксплуатацию, а также быстро находить неполадки в подключенном к ПЛК оборудовании. Разработчики стандарта специально сделали форму такой, чтобы максимально облегчить работу инженерам по релейной автоматике на ПЛК.
В Соединенных Штатах например, язык релейных диаграмм — самый распространенный язык для программирования ПЛК. Он также широко распространен по всему миру. Написанная программа выглядит интуитивно понятно, так что любой инженер-электрик сможет легко ее прочитать и понять, ведь логические операции здесь представляются в виде электрической цепи с разомкнутыми и замкнутыми контактами.
Результат логической операции «ЛОЖЬ» или «ИСТИНА» в общем случае имеет под собой соответствующее состояние цепи: если ток течет — «ИСТИНА», «true», если тока нет — «ЛОЖЬ», «false».
Достоинства и недостатки языка LD
Главное достоинство языка — безусловно простота. Программа представляется как электрический поток, любой специалист по электротехнике это поймет. Правила просты, здесь используются лишь булевые выражения, код рационален и легко может быть оптимизирован вручную.
Соответственно вытекает отсюда главный недостаток — операции только двоичные, лишь дискретные состояния возможны, непрерывное управление сразу отпадает. К тому же с увеличением количества реле схема становится сложной для чтения, понимания и отладки.
Как выглядит программа на LD
Две вертикальные линии представляют пару питающих шин. Между шинами располагаются горизонтально цепи, в которые включаются обмотка и контакты реле. В цепи может быть установлено произвольное количество контактов. Последовательно соединенные контакты должны замкнуться все, тогда по цепи пойдет ток, и обмотка реле получит питание. Несколько обмоток реле может быть включено параллельно, но не последовательно.
В языке LD для каждого контакта имеет место логическая переменная, которая и определяет состояние контакта. Для нормально-разомкнутого контакта переменная принимает значение «ИСТИНА» когда контакт замкнут, или принимает значение «ЛОЖЬ», когда контакт разомкнут. Надпись над контактом — это имя переменной и одновременно название контакта.
-(/)- катушка реле инверсная
Как легко видеть, графические обозначения внутри LD-диаграммы интуитивно понятны, но они отличаются от принятых в электрических схемах. Тем не менее, факт, что символы псевдографики служат для построения диаграммы (программы), является преимуществом языка.
Примеры использования языка LD :
Еще один очень распространенный язык программирования ПЛК:
Мы планируем развивать эту тему здесь:
Structured Text
Книга «Изучаем Structured Text МЭК 61131-3»: Ссылка на книгу
Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!
Записывайтесь в онлайн-университет от GeekBrains:
Изучить C, механизмы отладки и программирования микроконтроллеров;
Получить опыт работы с реальными проектами, в команде и самостоятельно;
Получить удостоверение и сертификат, подтверждающие полученные знания.
Starter box для первых экспериментов в подарок!
После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды.
Вы получите диплом о профессиональной переподготовке и электронный сертификат, которые можно добавить в портфолио и показать работодателю.
Примеры программ на языке LAD для программируемых логических контроллеров
Одним из базовых и достаточно распространенных языков программирования промышленных логических контроллеров (ПЛК) является язык релейной (лестничной) логики — Ladder Diagram (англ. LD, англ. LAD, рус. РКС).
Этот графический язык программирования основан на представлении коммутационных схем и удобен для специалистов по электротехнике, так как нормально замкнутые и нормально разомкнутые контактные элементы языка LAD можно сопоставить с нормально замкнутыми и нормально разомкнутыми переключателями в электрических цепях.
С середины XX века в промышленности широко использовались релейные системы автоматики. В начале 1970-х гг. релейные автоматы начали постепенно вытесняться программируемыми контроллерами. Некоторое время те и другие работали одновременно и обслуживались одними и теми же людьми. Так появилась задача «переноса» релейных схем в ПЛК.
Различные варианты программной реализации релейных схем создавались практически всеми ведущими производителями ПЛК. Благодаря простоте представления LAD обрел заслуженную популярность, что и стало основной причиной включения его в стандарт МЭК.
Синтаксис команд языка LAD очень похож на синтаксис языка описания релейно-контактных схем. Такое представление позволяет проследить «поток энергии» между шинами при его прохождении через различные контакты, составные элементы и выходные элементы (катушки).
Элементы коммутационной схемы, такие как нормально разомкнутые контакты и нормально замкнутые контакты, группируют в сегменты. Один или несколько сегментов образуют раздел кодов логического блока.
Простые примеры программ для ПЛК на языке LAD
На рисунках 1 и 2 представлены сегменты программы, описывающей два действия по управлению двигателем конвейера на языке LAD:
нажатие любой кнопки «Пуск» включает двигатель;
нажатие любой кнопки «Стоп» или срабатывание датчика отключают двигатель.
Рис. 1. Включение двигателя после нажатия любой кнопки «Пуск»
Рис. 2. Отключение двигателя после нажатия любой кнопки «Стоп» или срабатывания датчика
Вторая задача состоит в определении направления движения ленты транспортера. Пусть на ленте установлены два фотоэлектрических датчика (РЕВ 1 и РЕВ 2) для определения направления движения предмета. Оба работают как нормально открытые контакты.
если на входе 10.0 сигнал изменяется с «0» на «1» (нарастающий фронт), и при этом состояние сигнала на входе I0.1 равно «0», то предмет на ленте транспортера движется влево;
если на входе 10.1 сигнал изменяется с «0» на «1» (нарастающий фронт), и при этом состояние сигнала на входе I0.0 равно «0», то предмет на ленте транспортера движется вправо;
если оба фотодатчика перекрыты, то это значит, что предмет находится между датчиками.
Рис. 3. Движение предмета влево, если вход I0.0 меняет состояние с «0» на «1», и при этом вход I0.1 равен «0»
Рис. 4. Движение предмета вправо, если вход I0.1 изменяется с «0» на «1», и при этом вход I0.0 равен «0»
Рис. 5. Нахождение предмета между датчиками
На рис. 3 — 4 приняты обозначения:
выход Q4.0 (LEFT) — индикатор движения налево;
если с т атус таймера Т1 равен «0», за г ружается значение времени 250 мс в Т1 и Т1 запускается как таймер с удлиненным импульсом;
состояние таймера временно сохраняется во вспомогательном меркере;
если статус таймера Т1 равен «1», переход на метку М001;
когда время таймера Т1 истекает, меркерное слово 100 увеличивается на «1».
Рис. 6. Запуск таймера с удлиненным импульсом
Пример программы на языке LAD для контроллера LOGO
Универсальный логический модуль LOGO! является компактным функционально законченным изделием, предназначенным для решения наиболее простых задач автоматизации с логической обработкой информации.
Рис. 10. Модуль LOGO
Состав системы отопления включает следующие компоненты:
три отопительных котла, используемых для отопления помещений;
три насоса, обеспечивающих циркуляцию теплоносителя;
трубопровод и регистры отопления.
Система управления должна контролировать температуру в душевых помещениях, давление (первый уровень — низкий, при котором возможна дальнейшая эксплуатация при условии включения системы заполнения, и второй уровень критический, при котором дальнейшая эксплуатация запрещена), а также контролировать температуру теплоносителя в системе отопления, отсутствие энергоресурсов (электроэнергия, газ).
В качестве входов и выходов используются:
AI2 — входной сигнал с датчика измерения давления о низком уровне давления теплоносителя, позволяющего дальнейшую работу;
AI3 — входной сигнал с датчика измерения температуры о повышении рабочей температуры теплоносителя;
выход Q3 выходной сигнал, осуществляющий отключение котлов системы отопления (котел отопления №1);
выход Q4 выходной сигнал, осуществляющий отключение подачи газа к котлам;
выход Q5 — выходной сигнал, осуществляющий включение системы отопления (циркуляционный насос №2);
выход Q7 выходной сигнал, осуществляющий отключение котлов системы отопления (котел отопления №2);
выход Q8 выходной сигнал, осуществляющий отключение котлов системы отопления (котел отопления №3);
выход Q2 — выходной сигнал, осуществляющий включение электрокалориферов (электрокалорифер №3);
выход Q3 выходной сигнал, осуществляющий включение электрокалориферов (электрокалорифер №3).
Программа для автоматизированной системы управления отоплением, написанная на языке программирования в виде релейно-контактных символов (LAD) в программном пакете » LOGO! Soft comfort » показана на рис. 1 1 и 1 2.
Общие сведения о языке LD¶
LD (Ladder Diagram) – графический язык, основанный на принципах релейно-контактных схем (элементами релейно-контактной логики являются: контакты, обмотки реле, вертикальные и горизонтальные перемычки и др.) с возможностью использования большого количества различных функциональных блоков. Достоинствами языка LD являются: представление программы в виде электрического потока (близко специалистам по электротехнике), наличие простых правил, использование только булевых выражений. На рис. 6.1 приведён пример программы на языке LD (слева) и ее эквивалент в виде электрической цепи с реле и выключателями (справа).
Рис. 6.1 – Программа на языке LD (слева) и ее эквивалент в виде электрической (справа)
Схемы, реализованные на данном языке, называются многоступенчатыми. Они представляют собой набор горизонтальных цепей, напоминающих ступеньки лестницы, соединяющих вертикальные шины питания.
Объекты языка программирования LD обеспечивают средства для структурирования программного модуля в некоторое количество контактов, катушек. Эти объекты взаимосвязаны через фактические параметры или связи.
Порядок обработки индивидуальных объектов в LD-секции определяется потоком данных внутри секции. Ступени, подключенные к левой шине питания, обрабатываются сверху вниз (соединение к левой шине питания). Ступени внутри секции, которые не зависят друг от друга, обрабатываются в порядке размещения.
Основные конструкции языка
Слева и справа схема на языке LD ограничена вертикальными линиями – шинами питания. Между ними расположены цепи, образованные контактами и катушками реле, по аналогии с обычными электронными цепями. Слева любая цепь начинается набором контактов, которые посылают слева направо состояние «ON» или «OFF», соответствующие логическим значениям TRUE или FALSE. Каждому контакту соответствует логическая переменная (типа BOOL). Если переменная имеет значение TRUE, то состояние передается через контакт. Иначе – правое соединение получает значение выключено (“OFF”).
Контакты могут быть соединены параллельно, тогда соединение передает состояние «логическое ИЛИ». Если контакты соединены последовательно, то соединение передаёт «логическое И».
Контакт может быть инвертируемым. Такой контакт обозначается с помощью символа |/| и передает состояние “ON”, если значение переменной FALSE.
Контактом является LD-элемент, который передаёт состояние горизонтальной связи левой стороны горизонтальной связи на правой стороне. Это состояние – результат булевой AND-операции состояния горизонтальной связи с левой стороны с состоянием ассоциированной переменной или прямого адреса. Контакт не изменяет значения связанной переменой или прямого адреса.
Для нормальных контактов (см. рис. 6.2) состояние левой связи передается в правую связь, если состояние связанного логического фактического параметра TRUE. Иначе, состояние правой связи FALSE.
Рис. 6.2 – Нормальный контакт
Для инверсных контактов (см. рис. 6.3) состояние левой связи передается в правую связь, если состояние связанного логического фактического параметра FALSE. Иначе, состояние правой связи TRUE.
Рис. 6.3 – Инверсный контакт
В контактах для обнаружения нарастания фронта (см. рис 6.4) правая связь устанавливается в состояние TRUE, если переход связанного фактического параметра происходит из FALSE в TRUE, и в то же время состояние левой связи TRUE. Иначе, состояние правой связи FALSE.
Рис. 6.4 – Контакт для обнаружения нарастания фронта
В контактах для обнаружения спада фронта (см. рис. 6.5) правая связь устанавливается в состояние TRUE, если переход связанного фактического параметра происходит из True в False, и состояние левой связи True в то же время. Иначе, состояние правой связи FALSE.
Рис. 6.5 – Контакт для обнаружения спада фронта
Катушка является LD-элементом, который передаёт состояние горизонтальной связи на левой стороне неизменяемым горизонтальной связи на правой стороне. В этом процессе состояние связанной переменной или прямого адреса будет сохранено.
В нормальных катушках (см. рис. 6.6) состояние левой связи передается в связанный логический фактический параметр и в правую связь.
Рис. 6.6 – Нормальная катушка
В инвертирующей катушке (см. рис. 6.7) состояние левой связи копируется в правую связь. Инвертированное состояние левой связи копируется в связанный логический фактический параметр. Если связь находится в состоянии FALSE, тогда правая связь тоже будет находиться в состоянии FALSE, и связанный логический фактический параметр будет находиться в состоянии TRUE.
Рис. 6.7 – Инвертирующая катушка
В катушке установки (см. рис. 6.8) состояние левой связи копируется в правую связь. Связанный логический фактический параметр устанавливается в состояние TRUE, если левая связь имеет состояние TRUE, иначе он не изменяется. Связанный логический фактический параметр может сбрасываться только катушкой сброса.
Рис. 6.8 – Катушка установки
В катушке сброса (см. рис. 6.9) состояние левой связи копируется в правую связь. Связанный логический фактический параметр устанавливается в состояние FALSE, если левая связь имеет состояние TRUE, иначе он не изменяется. Связанный логический фактический параметр может устанавливаться только катушкой установки.
Рис. 6.9 – Катушка сброса
В катушке обнаружения нарастания фронта (см. рис. 6.10) состояние левой связи копируется в правую связь. Связанный фактический параметр типа данных BOOL будет установлен в состояние TRUE для цикла программы, если произошел переход левой связи из FALSE в TRUE.
Рис. 6.10 – Катушка обнаружения нарастания фронта
В катушке обнаружения спада фронта (см. рис. 6.11) состояние левой связи копируется в правую связь. Связанный фактический параметр типа данных BOOL будет установлен в состояние TRUE для цикла программы, если произошел переход левой связи из TRUE в FALSE.
Рис. 6.11 – Катушка обнаружения спада фронта
Слово «катушка» имеет обобщенный образ исполнительного устройства, поэтому в русскоязычной документации обычно говорят о выходе цепочки, хотя можно встретить и частные значения термина, например катушка реле.
Левая шина питания соответствует единичному сигналу. Ступени, подключённые к левой шине питания, обрабатываются сверху вниз (соединение к левой шине питания).
Пример программы на языке LD
Пример представляет собой реализацию логического выражения:
При создании LD диаграмм можно использовать только переменные типа BOOL. Добавим новый контакт и привяжем его к имени A (имени переменной). Далее добавляется шина питания слева, шина питания справа, нормальный контакт, инверсный контакт и нормальная катушка. Нормальный контакт ассоциируется с переменной A, инверсный контакт с переменой B, нормальная катушка с переменной C. Далее это всё последовательно соединяется (см. рис. 6.12), и результатом является программа, написанная на языке LD, реализующая логическое выражение:
Рис. 6.12 – Пример LD диаграммы, реализующей логическое выражение C = A AND NOT B
Ladder diagram самоучитель
Язык релейных диаграмм LD и его применение
Язык релейных или лестничных диаграмм LD (от англ. Ladder Diagram) представляет собой простой в обращении, графический язык разработки. В его основе лежат релейно-контактные схемы, поэтому элементами логики здесь выступают: обмотки реле, контакты реле, горизонтальные и вертикальные перемычки.
Пары контактов реле или кнопки — вот основные логические переменные языка LD, при этом состояние переменных — это есть ни что иное, как состояние контактов: разомкнутое или замкнутое.
Сама же программа на данном графическом языке представляется аналогом релейной схемы, в которую может входить множество различных функциональных блоков. В общем и целом, синтаксис языка LD позволяет очень просто строить логические схемы для релейной техники.
Как таковой, язык релейных схем существовал еще во времена Томаса Эдисона, и лишь в начале 1970-х он был адаптирован для первых ПЛК. В самом начале данный язык появился в пакетах программирования ПЛК компаний Modicon и Allen-Bradly, причем символика была заимствована именно из электротехнической области.
Язык LD изначально был предназначен для инженеров по автоматизации, работающих на предприятиях. Интерфейс программирования наглядно преподносит логику работы контроллера, позволяет легко решать задачи ввода в эксплуатацию, а также быстро находить неполадки в подключенном к ПЛК оборудовании. Разработчики стандарта специально сделали форму такой, чтобы максимально облегчить работу инженерам по релейной автоматике на ПЛК.
В Соединенных Штатах например, язык релейных диаграмм — самый распространенный язык для программирования ПЛК. Он также широко распространен по всему миру. Написанная программа выглядит интуитивно понятно, так что любой инженер-электрик сможет легко ее прочитать и понять, ведь логические операции здесь представляются в виде электрической цепи с разомкнутыми и замкнутыми контактами.
Результат логической операции «ЛОЖЬ» или «ИСТИНА» в общем случае имеет под собой соответствующее состояние цепи: если ток течет — «ИСТИНА», «true», если тока нет — «ЛОЖЬ», «false».
Достоинства и недостатки языка LD
Главное достоинство языка — безусловно простота. Программа представляется как электрический поток, любой специалист по электротехнике это поймет. Правила просты, здесь используются лишь булевые выражения, код рационален и легко может быть оптимизирован вручную.
Соответственно вытекает отсюда главный недостаток — операции только двоичные, лишь дискретные состояния возможны, непрерывное управление сразу отпадает. К тому же с увеличением количества реле схема становится сложной для чтения, понимания и отладки.
Как выглядит программа на LD
Две вертикальные линии представляют пару питающих шин. Между шинами располагаются горизонтально цепи, в которые включаются обмотка и контакты реле. В цепи может быть установлено произвольное количество контактов. Последовательно соединенные контакты должны замкнуться все, тогда по цепи пойдет ток, и обмотка реле получит питание. Несколько обмоток реле может быть включено параллельно, но не последовательно.
В языке LD для каждого контакта имеет место логическая переменная, которая и определяет состояние контакта. Для нормально-разомкнутого контакта переменная принимает значение «ИСТИНА» когда контакт замкнут, или принимает значение «ЛОЖЬ», когда контакт разомкнут. Надпись над контактом — это имя переменной и одновременно название контакта.
При последовательном соединении нескольких контактов логика равноценна операции «И». Параллельно соединенные контакты воспроизводят логическую операцию «монтажное ИЛИ». Цепь замкнута «ON», разомкнута — «OFF», что сказывается на состоянии обмотки реле и на значении логической переменной применительно к обмотке — «ЛОЖЬ» или «ИСТИНА».
-(/)- катушка реле инверсная
Как легко видеть, графические обозначения внутри LD-диаграммы интуитивно понятны, но они отличаются от принятых в электрических схемах. Тем не менее, факт, что символы псевдографики служат для построения диаграммы (программы), является преимуществом языка.
Кроме того, как видите, обмотки реле также могут быть инверсными, что означает, что логическая переменная принимает инверсное значение по отношению к состоянию цепи: ток течет — «ЛОЖЬ», тока нет — «ИСТИНА».
Пример использования языка LD:
Реализации проходного выключателя для автоматизации управления освещением
Еще один очень распространенный язык программирования ПЛК:
Язык функциональных блоковых диаграмм (FBD)
Мы планируем развивать эту тему здесь:
Обучение применению и программированию ПЛК
3.2.1. Базовые конструкции релейно-контактных схем.
Программы, написанные на языке LD, состоят из ступеней, которые выполняются ПЛК последовательно, слева направо. Ступень состоит из набора графических элементов (ячеек), ограниченных слева и справа условными шинами питания. Условный ток в цепи ступени протекает слева направо. Правая шина питания на диаграммах не отображается, но подразумевается. Несколько ступеней выполняются ПЛК последовательно сверху вниз. Ступень может содержать несколько строк и колонок, разделенных на две зоны — проверочную зону и зону действий. Простейшие проверочные элементы и элементы действия занимают одну строку и одну колонку ступени.
Набор графических элементов языка LD включает:
входы и выходы ПЛК – кнопки, контакты реле, концевые выключатели, сигналы датчиков, индикаторные лампы и т.д.;
стандартные управляющие системные функции – таймеры, счетчики и т.д.;
арифметические, логические и специальные операции;
внутренние переменные ПЛК.
Для использования в логике релейно-контактных схем применяются две системы – комбинационная логика и последовательная логика.
Комбинационная логика релейно-контактной схемы – это цепь, в которой последовательно или параллельно объединяются два или более входных логических элементов и результат передается на выходные логические элементы, например катушки реле, таймеры, счетчики или другие прикладные программы. Пример комбинационной логики приведен на рис. 4.2.
Рис. 4.2. Релейно-контактная схема комбинационной логики для ПЛК
Дискретные входы ПЛК и результаты выполнения логических операций представляются в виде условных контактов реле, нормально разомкнутых (нормально открытых, или контактов типа A) и нормально замкнутых (нормально закрытых, инверсных, или контактов типа B). Нормально разомкнутые контакты замыкаются при появлении сигнала на соответствующем входе или истинности поставленного в соответствие данному контакту логического выражения. В цепи 1 на рис. 4.2 используется нормально разомкнутый входной контакт ПЛК X0. Логика работы нормально замкнутых контактов – обратная, он размыкаются при появлении сигнала или истинности логического выражения. В цепи 2 на рис. 4.2 используется нормально замкнутый входной контакт ПЛК X1. В цепи 3 используется несколько входных контактов ПЛК – X2, X3 и X4.
Дискретные выходы ПЛК или результаты выполнения данной ступени представляются в виде обмотки реле, питание на которой появляется после прохождения сигнала от левой условной шины питания через все находящиеся на ступени элементы (Y0, Y1, Y2 на рис. 4.2).
На языке LD могут быть запрограммированы логические операции «И» (AND), «ИЛИ» (OR), «НЕ» (NOT) и др. Последовательное соединение контактов равнозначно логической операции «И», параллельное «ИЛИ». Операция «НЕ» реализуется инверсным контактом. Ток в обмотке реле появляется после замыкания (размыкания) контактов и выполнения всех логических условий. Для цепи 3 рис. 4.2, а можно записать логическое уравнение функционирования: Y2 = ( (NOT X2) OR X3) AND X4).
Последовательная логика – это цепь с обратной связью. Выходной сигнал со схемы подается в качестве входного на ту же самую схему. Последовательная логика реализует схемы с памятью состояния – выходной сигнал остается в том же состоянии, даже если входной сигнал вернется в исходное (пассивное) состояние. Пример последовательной логики приведен на рис. 4.3.
Рис. 4.3. Релейно-контактная схема последовательной логики для ПЛК
Схема на рис. 4.3 – это схема самоблокировки реле. При замыкании входного контакта X5 реле Y3 срабатывает, его контакт Y3 замыкается и блокирует контакт X5. В этом состоянии контакт X5 может и разомкнуться, реле Y3 все равно останется во включенном состоянии. Выключение реле происходит при размыкании нормально замкнутого контакта X6, при этом контакт реле Y3 размыкается и схема возвращается в исходное состояние, замыкание контакта X6 не приведет к срабатыванию реле Y3.
В ПЛК операции релейно-контактной логики эмулируются микропроцессором. В ПЛК используется метод сканирования (последовательного опроса) для контроля состояний входных элементов и выходных катушек, затем используется программа релейно-контактной логики для эмуляции результатов. Поскольку имеется всего один процессор, ПЛК должен последовательно изучить и выполнить программу с первого до последнего шага, затем вернуться к первому шагу и выполнить в цикле всю последовательность операций. Длительность выполнения одного такого повторяющегося режима работы называется временем сканирования. Время сканирования – одна из важнейших характеристик ПЛК. Типичный ПЛК серии FBs выполняет примерно 1000 этапов переключений контактов за 0,33 миллисекунды, т.е время сканирования одного контакта составляет 0,33 микросекунды. Длительность сканирования всей схемы зависит от ее размера. Процесс сканирования релейно-контактной схемы в ПЛК показан на рис. 4.4.
Рис.4.4. Процесс сканирования релейно-контактной схемы в ПЛК
Структура и терминология релейно-контактной схемы. Релейно-контактную схему можно разделить на ряд небольших ячеек, объединенных в строки и столбцы. Для ПЛК серии FBs максимальный размер схемы составляет 16 строк по 22 столбца. В одной ячейке может располагаться один элемент. Пример релейно-контактной схемы приведен на рис. 4.5.
Рис. 4.5. Пример релейно-контактной схемы
Контакт – это элемент с двумя состояниями – замкнут или разомкнут. Один тип контактов называется «Входной контакт» (X со справочным номером) и его состояние определяется внешними входными сигналами с блока входных клемм. Другой тип контактов называется «Релейный контакт» и его состояние соответствует состоянию реле. В ПЛК FBs имеются следующие виды контактов: контакт A (X0, X2), контакт B (X1, X3), дифференциальные контакты «вверх» TU (X10, Y4), дифференциальные контакты «вниз» TD (X5, M6) и контакты «разомкнуто/замкнуто» Open/Short (отсутствие или наличие линии связи).
Реле состоит из катушки (обмотки) и контактов (рис. 4.6).
Для включения реле нужно подать ток в его катушку. Если реле Y0 находится в состоянии ВКЛ, то контакт A будет находиться в состоянии ВКЛ, контакт B – в состоянии ВЫКЛ. Контакты TU (TD) принимают состояние ВКЛ в интервале времени скана, когда реле переходит из состояния ВЫКЛ в состояние ВКЛ (из ВКЛ в ВЫКЛ) соответственно. В ПЛК FBs имеются четыре типа реле: выходные Y, внутренние M, шаговые S, временные TR. Состояния выходных реле Y передаются на блок выходных клемм. На рис. 4.5 показаны выходная катушка Y0, инверсная выходная катушка Y2.
Язык релейно-контактных схем (LD)
Рассмотрим язык релейно-контактных схем, дающий наглядное представление о работе контроллера за счет того, что изначально контроллер создавался для замены реле. Таким образом, данный язык нагляден и понятен программисту, который только начинает знакомиться с программной логикой.
Структура команды на языке релейно-контактных схем показана на рисунке 11.1.
Рисунок 11.1 – Структура команды
11.1 Основные команды
Команда (LD) нормально открытый контакт
Прочитав этот сигнал, контроллер начинает постоянно проверять состояние входа, норме которого указан программистом. (Далее для простоты изложения будут указаны конкретные номера, они выбраны произвольно). И как только контролер определяет изменение состояния входа (X1), с выключено на включено, следует включение выхода (Y1). Данный символ может относиться не только к физическим входам контроллера, а также и к внутренним (вспомогательным) реле. Число и ограничения по использованию внутренних реле определяется только возможностями контроллера.
Команда (LDI) нормально закрытый контакт
Прочитав этот сигнал, контроллер начинает постоянно проверять состояние входа (X2). И как только контроллер определяет изменение состояния входа (X2), с включено на выключено, следует включение выхода (Y1). Данный символ может относиться не только
к физическим входам контроллера, а также и к внутренним (вспомогательным) реле. Логика работы соответствует таблице 11.1.
Таблица 11.1 – Таблица логического состояния входов