Язык релейно контактных схем

Язык релейно контактных схем

Графический язык релейной логики впервые появился в виде электрических схем, которые состояли из контактов и обмоток электромагнитных реле (рис. 9.9). Такие схемы использовались в автоматике конвейеров для сборки автомобилей до эры микропроцессоров. Язык релейной логики был интуитивно понятен людям, слегка знакомым с электротехникой и поэтому оказался наиболее распространенным в промышленной автоматике. Обслуживающий персонал легко находил отказ в оборудовании, прослеживая путь сигнала по релейной диаграмме.

Однако язык LD проблематично использовать для реализации сложных алгоритмов, поскольку он не поддерживает подпрограммы, функции, инкапсуляцию* и другие средства структурирования программ с целью повышения качества программирования. Эти недостатки затрудняют многократное использование программных компонентов, что делает программу длинной и сложной для обслуживания.

Рис. 9.9. Пример программы на языке LD (слева) и ее эквивалент в виде электрической цепи с реле и выключателями (справа)

Для выполнения арифметических функций в язык LD были добавлены функциональные блоки, которые выполняли операции сложения, умножения, вычисления среднего и т.д. Сложные вычисления в этом языке невозможны. Недостатком является также то, что только маленькая часть программы умещается на мониторе компьютера или панели оператора при программировании.

Несмотря на указанные недостатки, язык LD относится к наиболее распространенным в мире [Lewis], хотя используется для программирования только простых задач.

Сайт для тех кто хочет научиться программировать ПЛК

Язык релейных диаграмм (LD)

Язык релейных диаграмм (LD)

Язык релейных или релейно-контактных схем (РКС) – графический язык, реализующий структуры электрических цепей. Лучше всего LD подходит для построения логических переключателей, но достаточно легко можно создавать и сложные цепи — как в FBD. Кроме того, LD достаточно удобен для управления другими компонентами POU.

Диаграмма LD состоит из ряда цепей.

Слева и справа схема ограничена вертикальными линиями — шинами питания. Между ними расположены цепи, образованные контактами и обмотками реле, по аналогии с обычными электронными цепями. Слева любая цепь начинается набором контактов, которые посылают слева направо состояние «ON» или «OFF», соответствующие логическим значениям ИСТИНА или ЛОЖЬ. Каждому контакту соответствует логическая переменная. Если переменная имеет значение ИСТИНА, то состояние передается через контакт. Иначе правое соединение получает значение выключено («OFF»).

Пример релейной диаграммы

Контакт

Контакты обозначаются двумя параллельными линиями и могут иметь состояния «ON» или «OFF». Эти состояния соответствуют значениям ИСТИНА или ЛОЖЬ. Каждому контакту соответствует логическая переменная. Если значение переменной ИСТИНА, то контакт замкнут. Контакты могут быть соединены параллельно, тогда соединение передает состояние «ON», когда хотя бы одна из ветвей передает «ON».Если контакты соединены последовательно, то для того, чтобы соединение передало «ON», необходимо, чтобы оба контакта передавали «ON». Это соответствует электрической параллельной и последовательной схеме. Контакт может быть инвертируемым. Такой контакт обозначается с помощью символа |/| и передает состояние «ON», если значение переменной ЛОЖЬ.

Читайте также:  Вентиляционные каналы из пластика

Обмотка

В правой части схемы может находиться любое количество обмоток (реле), которые обозначаются круглыми скобками (). Они могут соединяться только параллельно. Обмотка передает значение соединения слева направо и копирует его в соответствующую логическую переменную. В целом цепь может быть либо замкнутой (ON), либо разомкнутой (OFF). Это как раз и отражается на обмотке и соответственно на логической переменной обмотки (ИСТИНА/ЛОЖЬ). Обмотки также могут быть инверсными (в примере — %QX3.0). Если обмотка инверсная (обозначается символом (/)), тогда в соответствующую логическую переменную копируется инверсное значение.

Функциональные блоки в LD

Кроме контактов и обмоток, в LD можно использовать функциональные блоки и программы. Они должны иметь логические вход и выход и могут использоваться так же, как контакты.

SET и RESET обмотка

Обмотки могут быть с «самофиксацией» типов SET и RESET. Обмотки типа SET обозначаются буквой «S» внутри круглых скобок (S). Если соответствующая этой обмотке переменная принимает значение ИСТИНА, то она навсегда (до сброса R) сохраняет его. Обмотки типа RESET обозначаются буквой R. Если соответствующая переменная принимает значение ЛОЖЬ, то она навсегда (до установки S) сохраняет его.

LD в качестве FBD

Весьма вероятно, что при работе с LD вы захотите с помощью контакта управлять другими POU. Во-первых, можно использовать обмотку для передачи значения глобальной переменной, которая будет использоваться в другом месте. Кроме того, можно вставить вызов прямо в схему LD. Такой POU может быть оператором, функцией, программой или функциональным блоком, который имеет добавочный вход, обозначаемый EN. Вход EN всегда логического типа, и POU выполняется, только когда значение EN=ИСТИНА. POU встраивается в схему параллельно обмоткам, и вход EN соединяется ответвлением. Использование таких POU делает LD схему похожей на FBD схему.

LD (Ladder Diagram) – графический язык, основанный на принципах релейно-контактных схем (элементами релейно-контактной логики являются: контакты, обмотки реле, вертикальные и горизонтальные перемычки и др.) с возможностью использования большого количества различных функциональных блоков. Достоинствами языка LD являются: представление программы в виде электрического потока (близко специалистам по электротехнике), наличие простых правил, использование только булевых выражений. На рис. 6.1 приведён пример программы на языке LD (слева) и ее эквивалент в виде электрической цепи с реле и выключателями (справа).

Рис. 6.1 – Программа на языке LD (слева) и ее эквивалент в виде электрической (справа)

Схемы, реализованные на данном языке, называются многоступенчатыми. Они представляют собой набор горизонтальных цепей, напоминающих ступеньки лестницы, соединяющих вертикальные шины питания.

Объекты языка программирования LD обеспечивают средства для структурирования программного модуля в некоторое количество контактов, катушек. Эти объекты взаимосвязаны через фактические параметры или связи.

Читайте также:  Как перенастроить цифровую приставку

Порядок обработки индивидуальных объектов в LD-секции определяется потоком данных внутри секции. Ступени, подключенные к левой шине питания, обрабатываются сверху вниз (соединение к левой шине питания). Ступени внутри секции, которые не зависят друг от друга, обрабатываются в порядке размещения.

Основные конструкции языка

Слева и справа схема на языке LD ограничена вертикальными линиями – шинами питания. Между ними расположены цепи, образованные контактами и катушками реле, по аналогии с обычными электронными цепями. Слева любая цепь начинается набором контактов, которые посылают слева направо состояние «ON» или «OFF», соответствующие логическим значениям TRUE или FALSE. Каждому контакту соответствует логическая переменная (типа BOOL). Если переменная имеет значение TRUE, то состояние передается через контакт. Иначе – правое соединение получает значение выключено (“OFF”).

Контакты могут быть соединены параллельно, тогда соединение передает состояние «логическое ИЛИ». Если контакты соединены последовательно, то соединение передаёт «логическое И».

Контакт может быть инвертируемым. Такой контакт обозначается с помощью символа |/| и передает состояние “ON”, если значение переменной FALSE.

Язык LD позволяет:

  • выполнять последовательное соединение контактов;
  • выполнять параллельное соединение контактов;
  • применять нормально разомкнутые или замкнутые контакты;
  • использовать переключаемые контакты;
  • записывать комментарии;
  • включать Set/Reset-выходы (Установка/Сброс);
  • переходы;
  • включать в диаграмму функциональные блоки;
  • управлять работой блоков по входам EN.

Контактом является 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

Ссылка на основную публикацию
Ядовитые грибы список названий
Разряд ядовитых отнесены грибы, при употреблении которых в обычных дозах человек получает тяжелое отравление. По характеру действия токсинов, содержащихся в...
Эра розетки официальный сайт
Светотехника и электротехника для дома, офиса, промышленных предприятий. Оптимальное соотношение цены и качества. Новости из мира светотехники и электротехники Записи...
Эрагростис изящная посадка и уход
Описание: однолетние или многолетние растения 15—120 см высотой, без ползучих подземных побегов. Листовые пластинки линейные; язычки почти от основания переходят...
Язык интерфейса multi9 что это
Agents of Mayhem - шутер от третьего лица с элементами открытого мира. Местом действия является футуристическая версия города Сеула, названная...
Adblock detector