Мегаобучалка Главная | О нас | Обратная связь


Языки программирования программного комплекса CoDeSys



2015-11-27 1588 Обсуждений (0)
Языки программирования программного комплекса CoDeSys 0.00 из 5.00 0 оценок




Язык IL (Instruction list)

 

Язык IL (Instruction list) дословно – список инструкций. Каждая инструкция начинается с новой строки и содержит оператор и, в зависимости от типа операции, один и более операндов, разделенных запятыми.

Перед операндом может находиться метка, заканчивающаяся двоеточием (:). Комментарий должен быть последним элементом в строке. Между инструкциями могут находиться пустые строки.

Пример:

LD 17

ST lint (* комментарий*)

GE 5

JMPC next

LD idword

EQ istruct.sdword

STN test

next:

Модификаторы и операторы IL

 

В IL можно использовать следующие операторы и модификаторы. Модификатор Сиспользуетсяс операторами JMP, CAL, RET. Инструкция выполняется только тогда, когда результат аккумулятора ИСТИНА.

Модификатор N используетсяс операторами JMP, CAL, RET. Инструкция выполняется тогда, когда результат аккумулятора ЛОЖЬ. МодификаторNв других случаях означает отрицание операнда.

Ниже приведена таблица всех операторов IL с пояснениями и допустимыми модификаторами:

Таблица – Операторы IL

 

Оператор Модификатор Значение
LD N Присвоение аккумулятору значения оператора
ST N Присвоение значения аккумулятора операнду
S   Присвоить логическому операнду значение ИСТИНА, если значение аккумулятора ИСТИНА
R   Присвоить логическому операнду значение ЛОЖЬ
AND N Побитное И
OR N Побитное ИЛИ
XOR N Побитное исключающее ИЛИ
ADD   Сложение
SUB   Вычитание
MUL   Умножение
DIV   Деление
GT   >
GE   >=
QE   =
NE   < >
LE   <=
LT   <
JMP CN Переход к метке
CAL CN Вызов функционального блока
RET CN Выход из POU и возврат в вызывающую программу

 

Пример IL программы с использованием некоторых модификаторов:

LD TRUE (*загрузить значение ИСТИНА в аккумулятор*)

ANDN BOOL1 (*выполнить И с инверсным значением переменной BOOL1*)

JMPC mark (*если значение аккумулятора ИСТИНА, то перейти к метке "mark"*)

LDN BOOL2 (*сохранить инверсное значение BOOL2 в аккумуляторе*)

ST ERG (*сохранить значение аккумулятора в ERG*)

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

Например:

LD 2

MUL 2

ADD 3

ST ERG

Здесь значение ERG равно 7. Если поставить скобки, то порядок вычислений изменится:

LD 2

MUL ( 2

ADD 3

)

ST ERG

Теперь значение переменной ERG равно 10.

Операция MUL выполняется только тогда, когда программа доходит до ")". В качестве операнда MUL использует значение 5.

Язык релейно-контактных схем (LD)

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

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

Контакт

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

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

Обмотка

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

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

Обмотки также могут быть инверсными. Если обмотка инверсная (обозначается символом (/)), тогда в соответствующую логическую переменную копируется инверсное значение.

Функциональные блоки в 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 схему.

 



2015-11-27 1588 Обсуждений (0)
Языки программирования программного комплекса CoDeSys 0.00 из 5.00 0 оценок









Обсуждение в статье: Языки программирования программного комплекса CoDeSys

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1588)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)