Общие сведения о языке IL — АСУ ТП: сообщество инженеров

Общие сведения о языке IL

Содержание

  • Общие сведения о языке IL
  • Операторы языка
  • Пример программы на языке IL

IL (Instruction List) представляет собой текстовый язык программирования низкого уровня, который очень похож на Assembler, но к конкретной архитектуре процессора не привязан. Он позволяет описывать функции, функциональные блоки и программы, а также шаги и переходы в языке SFC. Одним из ключевых преимуществ IL является его простота и возможность добиться оптимизированного кода для реализации критических секторов программ. Особенности IL делают его неудобным для описания сложных алгоритмов с большим количеством разветвлений.

Операторы языка

Основа языка программирования IL, как и в случае Assembler, это переходы по меткам и аккумулятор. В аккумулятор загружается значения переменной, а дальнейшее выполнение алгоритма представляет собой извлечение значения из аккумулятора и совершение над ним операций. Далее в таблице 4.1 приведены операторы языка IL.

Оператор и описание

LD Загрузить значение операнда в аккумулятор

LDN Загрузить обратное значение операнда в аккумулятор

ST Присвоить значение аккумулятора операнду

STN Присвоить обратное значение аккумулятора операнду

S Если значение аккумулятора TRUE, установить логический операнд

R Если значение аккумулятора FALSE, сбросить логический операнд

AND Поразрядное И аккумулятора и операнда

ANDN Поразрядное И аккумулятора и обратного операнда

OR Поразрядное ИЛИ аккумулятора и операнда

ORN Поразрядное ИЛИ аккумулятора и обратного операнда

XOR Поразрядное разделительное ИЛИ аккумулятора и операнда

XORN Поразрядное разделительное ИЛИ аккумулятора и обратного операнда

NOT Поразрядная инверсия аккумулятора

ADD Сложение аккумулятора и операнда, результат записывается в аккумулятор

SUB Вычитание операнда из аккумулятора, результат записывается в аккумулятор

MUL Умножение аккумулятора на операнд, результат записывается в аккумулятор

DIV Деление аккумулятора на операнд, результат записывается в аккумулятор

GT Значение аккумулятора сравнивается со значением операнда(>(greater than)). Значение (TRUE или FALSE) записывается в аккумулятор

GE Значение аккумулятора сравнивается со значением операнда(>=greater than or equal)). Значение (TRUE или FALSE) записывается в аккумулятор

EQ Значение аккумулятора сравнивается со значением операнда (=(equal)). Значение (TRUE или FALSE) записывается в аккумулятор

NE Значение аккумулятора сравнивается со значением операнда (<>(not equal). Значение (TRUE или FALSE) записывается в аккумулятор

LE Значение аккумулятора сравнивается со значением операнда (<=(less than or equal to)). Значение (TRUE или FALSE) записывается в аккумулятор

LT Значение аккумулятора сравнивается со значением операнда (<(less than)). Значение (TRUE или FALSE) записывается в аккумулятор

JMP Переход к метке

JMPC Переход к метке при условии, что значение аккумулятора TRUE

JMPCN Переход к метке при условии, что значение аккумулятора FALSE

CAL Вызов программного или функционального блока

CALC Вызов программного или функционального блока при условии, что значение аккумулятора TRUE

CALCN Вызов программного или функционального блока при условии, что значение аккумулятора FALSE

RET Выход из POU и возврат в вызывающую программу

RETC Выход из POU и возврат в вызывающую программу при условии, что значение аккумулятора TRUE

RETCN Выход из POU и возврат в вызывающую программу при условии, что значение аккумулятора FALSE

Пример программы на языке IL

На рис. 1 приведён пример программы на языке IL, которая эквивалентна следующему логическому выражению C = A AND NOT B:

Рис. 1 – Пример программы на языке IL

Первый оператор примера LD помещает значение переменной A в аккумулятор, способный хранить значения любого типа. Второй оператор ANDN выполняет «побитовое И» аккумулятора и обратного значения операнда, результат всегда помещается в аккумулятор. Последний оператор примера ST присваивает переменной C значение аккумулятора.

Источник: https://sm1820.github.io/beremiz/iec_guide/il_guide.html

Полезные и обучающие статьи по промышленной автоматизации доступны в нашем приложении:

ВКонтакте : https://vk.com/app7968691_341515662

Google play: https://play.google.com/store/apps/details?id=com.appsheet.whitelabel.guid_79815f0a_12af_4236_9036_be7746f230df

🔗 Общие сведения о языке IL

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

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

Прокрутить вверх