Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Техно LD (Язык релейных или релейно-контактных схем)
Язык Techno LD понравится инженерам, привыкшим к составлению схем релейной логики. Внешне редактор LD очень похож на редактор FBD, только вместо функциональных блоков пользователю предлагается использовать " контакты" и " катушки". При желании в схему Techno LD можно включать и вкрапления из обычных блоков FBD, хотя эта возможность TRACE MODE® 6 несколько выходит за рамки стандарта. Язык релейных или релейно-контактных схем (РКС) – графический язык, реализующий структуры электрических цепей. Лучше всего LD подходит для построения логических переключателей, но достаточно легко можно создавать и сложные цепи - как в FBD. Кроме того, LD достаточно удобен для управления другими компонентами. Диаграмма LD состоит из ряда цепей. Слева и справа схема ограничена вертикальными линиями - шинами питания. Между ними расположены цепи, образованные контактами и обмотками реле, по аналогии с обычными электронными цепями. Слева любая цепь начинается набором контактов, которые посылают слева направо состояние " ON" или " OFF", соответствующие логическим значениям ИСТИНА или ЛОЖЬ. Каждому контакту соответствует логическая переменная. Если переменная имеет значение ИСТИНА, то состояние передается через контакт. Иначе правое соединение получает значение выключено (" OFF" ). Пример типичной LD цепи:
Контакты обозначаются двумя параллельными линиями и могут иметь состояния " ON" или " OFF". Эти состояния соответствуют значениям ИСТИНА или ЛОЖЬ. Каждому контакту соответствует логическая переменная. Если значение переменной ИСТИНА, то контакт замкнут. Контакты могут быть соединены параллельно, тогда соединение передает состояние " ON", когда хотя бы одна из ветвей передает " ON". Если контакты соединены последовательно, то для того, чтобы соединение передало " ON", необходимо, чтобы оба контакта передавали " ON". Это соответствует электрической параллельной и последовательной схеме. Контакт может быть инвертируемым. Такой контакт обозначается с помощью символа |/| и передает состояние " ON", если значение переменной ЛОЖЬ.
В правой части схемы может находиться любое количество обмоток (реле), которые обозначаются круглыми скобками (). Они могут соединяться только параллельно. Обмотка передает значение соединения слева направо и копирует его в соответствующую логическую переменную. В целом цепь может быть либо замкнутой (ON), либо разомкнутой (OFF). Это как раз и отражается на обмотке и соответственно на логической переменной обмотки (ИСТИНА/ЛОЖЬ). Обмотки также могут быть инверсными (в примере - %QX3.0). Если обмотка инверсная (обозначается символом (/)), тогда в соответствующую логическую переменную копируется инверсное значение. Кроме контактов и обмоток, в LD можно использовать функциональные блоки и программы. Они должны иметь логические вход и выход и могут использоваться так же, как контакты. Обмотки могут быть с «самофиксацией» типов SET и RESET. Обмотки типа SET обозначаются буквой " S" внутри круглых скобок (S). Если соответствующая этой обмотке переменная принимает значение ИСТИНА, то она навсегда (до сброса R) сохраняет его. Обмотки типа RESET обозначаются буквой R. Если соответствующая переменная принимает значение ЛОЖЬ, то она навсегда (до установки S) сохраняет его. Весьма вероятно, что при работе с LD возникнет необходимость с помощью контакта управлять другими элементами. Во-первых, можно использовать обмотку для передачи значения глобальной переменной, которая будет использоваться в другом месте. Кроме того, можно вставить вызов прямо в схему LD. Такой элемент (блок) может быть оператором, функцией, программой или функциональным блоком, который имеет добавочный вход, обозначаемый EN. Вход EN всегда логического типа, и блок выполняется, только когда значение EN=ИСТИНА. Блок встраивается в схему параллельно обмоткам, и вход EN соединяется ответвлением. Использование таких блоков делает LD схему похожей на FBD схему. Пример LD цепи с EN:
LD-программа представляет собой диаграмму последовательно выполняемых функциональных блоков. На рисунке показан вид программы в LD-редакторе.
Функциональный блок – это графическое изображение вызова встроенной функции Техно LD(LD-блока), функции (функции-блока), определенной пользователем, или FBD-блока. Вид LD-блока показан на следующем рисунке.
Над блоком выводится имя связанной переменной ( my_var на рисунке). Связанной переменной называется переменная, от значения которой зависит выполняемое блоком действие или значение которой устанавливается в процессе выполняемого блоком действия. Связанная переменная задается пользователем. Если связанная переменная не задана, над блоком отображаются три звездочки:
В качестве изображения блока используется обозначение выполняемой этим блоком функции (|/| и (P) на рисунках). Отрезок слева обозначает вход блока, отрезок справа – выход. Все LD-блоки имеют один вход ( in ) и один выход ( out ). Под блоком выводится его номер и, после двоеточия, номер следующего выполняемого блока ( 5: 3 на рисунках выше). Номера блоков задаются последовательно при их размещении в рабочем поле редактора; номера следующих выполняемых блоков определяются автоматически при размещении других блоков и соединении входов и выходов блоков (образовании диаграммы). На блоке, который выполняется первым в программе, после его номера отображается символ В; на блоке, который выполняется последним, – символ Е: Используемые в программе FBD-блоки, а также функции и функции-блоки отображаются на LD-диаграмме в виде, аналогичном виду функциональных блоков в FBD-редакторе. Шины изображаются на диаграмме в виде вертикальных линий. В Техно LD используются две основные шины (левая и правая) и вспомогательные шины. Между основными шинами размещаются все функциональные блоки LD-программы; на вспомогательные шины могут замыкаться выходы блоков, расположенных один над другим. Шины имеют следующее назначение: · значение левой основной шины всегда равно 1 (аналог положительной шины питания); · значение правой основной шины и вспомогательной шины формируется как логическая сумма ( OR ) значений выходов блоков, связанных с этой шиной. В процессе выполнения программы блоки пересчитываются последовательно в соответствии с их номерами. Значение правой основной шины и вспомогательной шины равно логической сумме значений выходов блоков, пересчитанных на текущий момент времени выполнения программы. LD-программа может выступать в роли основной программы, функции и функции-блока. Для создания LD-программы и подключения ее к проекту нужно выполнить следующие операции: · разместить необходимые функциональные блоки в рабочем поле LD-редактора; · задать необходимые связи (образовать LD-диаграмму); · задать аргументы, переменные и константы программы; · привязать входы/выходы LD-диаграммы к аргументам, переменным и константам программы и задать связанные переменные; · скомпилировать программу.
Размещение LD-, FBD- и пользовательских функциональных блоков в рабочем поле LD-редактора производится с помощью навигатора аналогично размещению блоков в FBD-редакторе. Вид LD-навигатора показан на следующем рисунке. При размещении блоков и задании связей номера следующих выполняемых блоков автоматически устанавливаются таким образом, чтобы при запуске программы первыми выполнялись блоки (в соответствии с их номерами), расположенные в первом (самом левом) столбце диаграммы, затем – во втором и т.д. (см. порядок выполнения программы, показанной на следующем рисунке).
Первоначально заданный порядок выполнения в дальнейшем (после задания всех связей) не зависит от расположения блоков на диаграмме. Например, порядок выполнения программы, показанной на рисунке выше, не изменится, если блок номер 4 переместить в свободную ячейку справа. Привязка входов/выходов LD-диаграммы выполняется аналогично привязке входов/выходов FBD-диаграммы. Функция (SFC-условие) на языке Техно LDвозвращает значение правой основной шины, если ни один из выходов LD-диаграммы не привязан к имени функции (SFC-условия). Пример Пусть заданы следующие LD-функции func и fff ( V0 =1):
Значение правой основной шины для обеих функций равно 1, однако результат вызова функций различен:
Популярное:
|
Последнее изменение этой страницы: 2017-03-11; Просмотров: 2094; Нарушение авторского права страницы