ПЛК
Язык релейных диаграмм LD (Тема)
Язык LD
представляет собой графическую интерпретацию процесса разработки
релейно-контактных схем управления. Первоначально на языке LD программировались контроллеры производства
компании Allen Bradley.
Ввиду его удобства и значительного количества пользователей, обладающих
навыками проектирования логических систем на базе реле и контакторов, язык LD был введен в стандарт IEC 61131-3 и в настоящее
время является одним из наиболее распространенных языков программирования ПЛК.
Этот язык наиболее удобен для программирования небольших задач дискретной
логики, поэтому многие контроллеры младших классов имеют язык LD в качестве основного для разработки
программ управления. Программы, написанные на языке LD, состоят из последовательности
ступеней, которые выполняются ПЛК последовательно, слева направо. Ступень состоит из набора графических элементов, ограниченных
слева и справа условными шинами питания. Набор графических элементов языка LD включает: 1) Входы/выходы
ПЛК (кнопки, датчики, реле, индикаторные лампы и т.д.); 2) Стандартные
управляющие системные функции (таймеры, счетчики и т.д.); 3) Арифметические,
логические и специальные операции; 4) Внутренние
переменные ПЛК. Рис. Пример программы на языке LD Дискретные входы ПЛК и результаты выполнения логических
операций представляются в виде условных контактов реле, нормально разомкнутых
(замыкаются при появлении сигнала на соответствующем входе или истинности
поставленного в соответствие данному контакту логического выражения) и
нормально замкнутых (с логикой работы, обратной предыдущей). Дискретные выходы
ПЛК или результаты выполнения данной ступени представляются в виде обмотки
реле, питание на которой появляется после прохождения сигнала от левой
условной шины питания через все находящиеся на ступени элементы. Левая шина соответствует
исходному питанию схемы, правая – выходу схемы, сигнал в котором появляется
после замыкания всех контактов и выполнения всех логических условий. Графические элементы языка LD можно условно разделить на базовые
элементы, функциональные и операционные блоки. Каждый базовый элемент занимает
одну ячейку (одну строку по высоте и одну колонку по ширине). Блоки могут занимать
несколько ячеек. Базовые элементы и блоки языка LD приведены далее. Таблица. Базовые
элементы и блоки языка LD
Ступень содержит до 7-ми строк и до 11-ти колонок, разделенных
на две зоны – проверочную и зону действий. Каждая ступень может быть снабжена
меткой и озаглавлена комментарием. Метки могут быть использованы для
идентификации ступени внутри программного объекта (головной программы, подпрограммы
и т.д.), но не являются обязательными. Метки имеют синтаксис %Li (где i от 0 до 999) и располагаются в левом
верхнем углу перед шиной питания. Каждая метка может присваиваться только одной
ступени в пределах данного программного объекта. Система сканирует ступени в
том порядке, как они были введены, независимо от порядка нумерации меток. В состав ступени может быть введен комментарий, содержащий
до 222 алфавитно-цифровых символов и обрамленный с обоих концов символами
(*и*). Это упрощает интерпретацию ступени. Введение комментария не является
обязательным. Комментарий запоминается в ПЛК и в любой момент может быть вызван
пользователем. Следует учитывать, что комментарии используют память программ. Ступень изображается в форме, похожей на релейные диаграммы.
Простейшие проверочные элементы и элементы действия занимают одну строку и одну
колонку ступени. Все линии контактов начинаются от левой шины питания и должны
заканчиваться на правой шине питания. Проверочные операции всегда располагаются
в колонках с 1 по 10. Операции действия всегда располагаются в колонке 11. Предполагается, что между шинами питания протекает ток,
который имеет следующее направление: – по горизонтальным связям – слева направо; – по вертикальным связям – в обоих направлениях. Проверочная зона содержит: контакты, которые могут быть
помечены любым, ранее определенным битовым объектом; функциональные блоки;
блоки сравнения. Возрастающие и убывающие фронты могут быть связаны только
входными и выходными битовыми объектами и внутренними битами. Зона действий содержит: прямые, инверсные, фиксирующие и
инверсно-фиксирующие обмотки, которые могут быть помечены любым битовым
объектом; записанные пользователем операционные блоки; другие элементы
действия (Call, Jump, Halt, Return). На одной линии возможно до 10-ти контактов. В одной колонке
максимально может параллельно проверяться до 7-ми контактов. До 7-ми обмоток
могут быть включены параллельно. Ступень может быть разделена на несколько
независимых линий контактов, причем каждая линия управляет независимой обмоткой. Операционные блоки всегда расположены в зоне действий.
Внутри блока записывается фраза на языке ST. Операционный блок должен быть присоединен непосредственно к
правой «шине» питания. Ступени исполняются последовательно друг за другом; каждая
ступень исполняется слева направо. В тех случаях, когда встречается
вертикальная связь, выполняется подступень, соответствующая этой связи, и
только после этого возобновляется исполнение оставшейся части ступени. В соответствии с указанным порядком исполнения система: 1) Оценивает логическое состояние каждого контакта, соответствующее
текущему значению внутренних переменных объекта управления, или состояние
входов модулей ввода/вывода ПЛК, считываемых в начале сканирования; 2) Выполняет рабочие действия, соответствующие функциям,
функциональным блокам и подпрограммам; 3) Обеспечивает битовые объекты, соответствующие обмоткам
(выходы модулей ввода/вывода обновляются в конце сканирования); 4)
Переходит к другой
помеченной ступени в данном программном модуле (переходы к другой ступени
>>%Li), возвращается в вызывающий модуль <RETURN> или останавливает
программу <HALT>. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||