ISaGRAF. Version 3.4

   Памятники из белого мрамора подробнее. | Современная военная экипировка. |       

Основы языка LD


Программа на языке LD представлена списком ступеней, на которых расположены  контакты и витки. Ниже приведены основные компоненты LD диаграммы :

       Головная часть ступени ( левая  шина питания )

Каждая ступень начинается с левой шины питания, начальное значение которой истинно. Редактор Quick LD автоматически создаёт левую шину питания, когда первый контакт ступени создан пользователем. Каждая ступень может иметь логическое имя, которое может использоваться в качестве метки для инструкций прыжка.

       Контакты

Контакты изменяют поток булевых данных в соответствии со значением булевой переменной. Имя переменной изображено над символом контакта. Следующие типы контактов поддерживаются редактором Quick LD :

..................... прямой контакт

..................... инвертированный контакт

..................... контакт с определением положительного (переднего) фронта

..................... контакт с определением отрицательного (заднего) фронта

       Витки

Виток представляет действие. Состояние ступени (состояние связи в левой части витка) используется для изменения булевой переменной. Имя переменной изображено над символом витка. Следующие типы витков поддерживаются редактором Quick LD :

..................... прямой виток

..................... инвертированный виток



..................... "установить" виток действия

..................... "сбросить" виток действия

..................... виток с определением положительного (переднего) фронта

..................... виток с определением отрицательного (заднего) фронта

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

Блок диаграммы LD может представлять функцию, функциональный блок, подпрограмму или оператор. Его первый входные и выходные параметры всегда соединены со ступенью. Другие параметры описаны вне прямоугольника блока.

               

       Конец ступени ( правая шина питания )

Ступени заканчивается правой шиной питания. Редактор Quick LD автоматически вставляет правую шину питания, когда пользователь помещает виток в диаграмму.


       Символ прыжка


Символ прыжка всегда ссылается на метку ступени, т.е. имя этой ступени, определённое где-либо в этой же диаграмме. Он помещается в конце ступени. Если состояние ступени истинно, выполнение диаграммы прямо перейдёт к помеченной ступени. Следует иметь в виду, что обратные прыжки опасны, так как они могут привести к блокированию цикла PLC в некоторых случаях.

       Символ возврата


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

       Ввод «EN»


В  некоторых операторах, функциях и функциональных блоках первый ввод не имеет булевского типа данных. Так как первый ввод всегда должен быть соединен со ступенью, то другой ввод автоматически вставляется на первую позицию, называемую «EN». Блок выполняется только в том случае, если ввод «EN» истинен. Ниже приведён пример оператора сравнения и его эквивалент на языке ST :



IF rung_state THEN

   q := (value1 > value 2);

ELSE

   q := FALSE;

END_IF;

(* продолжить ступень с состоянием q *)

       Вывод «ENO»


В некоторых операторах, функциях или функциональных блоках первый вывод не имеет булевского типа данных. Поскольку первый вывод всегда должен быть соединён со ступенью, другой вывод автоматически вставляется  на первую позицию. Он называется «ENO».  Этот вывод всегда находится в том же состоянии, что и первый ввод блока. Ниже приведён пример функционального блока AVERAGE и его эквивалент на языке ST :



AVERAGE(rung_state, Signal, 100);

OutSignal := AVERAGE.XOUT;

eno := rung_state;

(* продолжить шину с состоянием eno *)

В некоторых случаях одновременно необходимы как EN, так и

ENO.
Ниже приведён пример арифметического оператора и его эквивалент на ST :



IF rung_state THEN

   result := (value1 + value2);

END_IF;

eno := rung_state;

(* продолжить шину с состоянием eno *)

   Ограничения редактора Quick LD


Редактор ISaGRAF Quick LD не позволяет продолжить ступень ( вставить новый контакт или виток) вправо от витка.Если одной ступени требуется сразу несколько выводов, то соответствующие витки должны быть параллельны.


Содержание раздела