Язык лестничной диаграммы LD
Язык LD (Ladder Diagram) – графический язык, основанный на принципах релейно-контактных схем (элементами релейно-контактной логики являются: контакты, обмотки реле, вертикальные и горизонтальные перемычки и др.) с возможностью использования большого количества различных функциональных блоков. Язык релейных схем существует со времен Т. Эдисона и адаптирован к ПЛК в начале 70-х годов прошлого века. Символика этого языка была заимствована из проектирования в области электротехники.
Достоинствами языка LD являются: представление программы в виде электрического потока (близок специалистам по электротехнике), наличие простых правил, использование только булевых выражений. Он имеет большой круг пользователей, рационален для ручной оптимизации специфических критических мест кода.
Структура LD-секции соответствует ступеням для действий переключателей реле.
Объекты языка программирования LD обеспечивают средства для структурирования организационной единицы ПЛК (секции) в некоторое количество контактов, катушек и FFB. Эти объекты взаимосвязаны через фактические параметры или связи.
Порядок обработки индивидуальных объектов в LD-секции определяется потоком данных внутри секции. Ступени, подключенные к левой шине питания, обрабатываются сверху вниз (соединение к левой шине питания). Ступени внутри секции, которые не зависят друг от друга, обрабатываются в порядке размещения.
Теоретически каждая секция может содержать любое число объектов, которые означают любое число входов и выходов. Однако желательно подразделить всю программу на ряд логически модулей, т. е. на различные секции.
Секции LD могут быть преобразованы в FBD-секции с помощью команды меню File → Export… → Program: IEC-Text для экспорта в языки ST или IL, затем они могут быть импортированы командой меню File → Import… → Program: IEC-Text. Преобразование FBD-секций в LD-секции невозможно.
На рисунке 8.1 приведен общий вид секции в редакторе LD.

Рисунок 8.1 – Изображение секции LD
Элементы языка LD
Контакты.Контактом является LD-элемент, который передает состояние горизонтальной связи левой стороны горизонтальной связи на правой стороне. Это состояние – результат булевой AND-операции состояния горизонтальной связи с левой стороны с состоянием ассоциированной переменной или прямого адреса. Контакт не изменяет значение связанной переменной или прямого адреса.
Для нормально разомкнутых контактов (рисунок 8.2) состояние левой связи передается в правую связь, если состояние связанного логического фактического параметра ON. Иначе, состояние правой связи OFF.

Рисунок 8.2 – Нормально разомкнутый контакт
Для нормально замкнутых контактов (рисунок 8.3) состояние левой связи передается в правую связь, если состояние связанного логического фактического параметра OFF. Иначе, состояние правой связи ON.

Рисунок 8.3 – Нормально замкнутый контакт
В контактах для определения положительных переходов (рисунок 8.4) правая связь устанавливается в состояние ON, если переход связанного фактического параметра происходит из OFF в ON, и в то же время состояние левой связи ON. Иначе, состояние правой связи OFF.

Рисунок 8.4 – Контакт для определения положительных переходов
В контактах для определения отрицательных переходов (рисунок 8.5) правая связь устанавливается в состояние ON, если переход связанного фактического параметра происходит из ON в OFF, и состояние левой связи ON в то же время. Иначе, состояние правой связи OFF.

Рисунок 8.5 – Контакт для определения отрицательных переходов
Катушки.Катушка является LD-элементом, который передает состояние горизонтальной связи на левой стороне неизменяемым горизонтальной связи на правой стороне. В этом процессе состояние связанной переменной или прямого адреса будет сохранено.
В катушках (рисунок 8.6) состояние левой связи передается в связанный логический фактический параметр и в правую связь.
Катушки обычно следуют за контактами или блоками EFB, но они могут также сопровождаться контактами.

Рисунок 8.6 – Катушка
В инвертирующей катушке (рисунок 8.7) состояние левой связи копируется в правую связь. Инвертированное состояние левой связи копируется в связанный логический фактический параметр. Если связь находится в состоянии OFF, тогда правая связь тоже будет находиться в состоянии OFF и связанный логический фактический параметр будет находиться в состоянии ON.

Рисунок 8.7 – Инвертирующая катушка
В катушке установки (рисунок 8.8) состояние левой связи копируется в правую связь. Связанный логический фактический параметр устанавливается в состояние ON, если левая связь имеет состояние ON, иначе он не изменяется. Связанный логический фактический параметр может сбрасываться только катушкой сброса.

Рисунок 8.8 – Катушка установки
В катушке сброса (рисунок 8.9) состояние левой связи копируется в правую связь. Связанный логический фактический параметр устанавливается в состояние OFF, если левая связь имеет состояние ON, иначе он не изменяется. Связанный логический фактический параметр может устанавливаться только катушкой установки.

Рисунок 8.9 – Катушка сброса
В катушке для определения положительных переходов (рисунок 8.10) состояние левой связи копируется в правую связь. Связанный фактический параметр типа данных BOOL будет установлен в состояние ON для цикла программы, если произошел переход левой связи из OFF в ON.

Рисунок 7810 – Катушка обнаружения передних фронтов
В катушке для определения отрицательных переходов (рисунок 8.11) состояние левой связи копируется в правую связь. Связанный фактический параметр типа данных BOOL будет установлен в состояние ON для цикла программы, если произошел переход левой связи из ON в OFF.

Рисунок 8.11 – Катушка обнаружения задних фронтов
|