Язык IL напоминает ассемблер и используется для реализации функций, функциональных блоков и программ, а также шагов и переходов в языке SFC. Основным достоинством языка является простота его изучения. Наиболее часто язык IL используется в случаях, когда требуется получить оптимизированный код для реализации критических секций программы, а также для решения небольших задач с малым количеством разветвлений алгоритма.
Листинг 4. Пример программы на языке IL
Метки | Операторы | Операнды | Комментарии |
LD | Voltage | (*Загрузить Voltage в аккумулятор*) | |
GT | (*Если >220*) | ||
JMPCN | М1 | (*Перейти к метке, если «>220» не верно*) | |
LD | Current | (*Загрузить Current в аккумулятор*) | |
SUB | (*Вычесть из аккумулятора 10 *) | ||
ST | Current | (*Присвоить Current значен. аккумулятора*) | |
M1: | LD | (*Загрузить в аккумулятор значение «0»*) | |
ST | Out | (*Присвоить Out значение аккумулятора*) |
1.Создаем проект и реализуем в нём первую программу на языке LD
В основе языка лежит понятие аккумулятора и переходов по меткам. Пример программы на зыке IL с комментариями приведен в листинге 4. Начинается программа с загрузки в аккумулятор значения переменной. Дальнейшие шаги программы состоят в извлечении содержимого аккумулятора и выполнении над ним ограниченного числа допустимых действий (их в языке всего 24).
Структурированный текст, ST
Язык ST является текстовым языком высокого уровня и очень сильно напоминает Паскаль:
Листинг 5. Пример программы на языке ST
IF Voltage>220 THEN
Current:=Current — 10; (*Если V>220 В, то уменьшить ток на 10*)
Current:=50; Speed:= ON;(*Установить ток 50А и включить мотор*)
Язык ST имеет много отличий от языка Паскаль и разработан специально для программирования ПЛК. Он содержит множество конструкций для присвоения значений переменным, для вызова функций и функциональных блоков, для написания выражений условных переходов, выбора операторов, для построения итерационных процессов. Этот язык предназначен в основном для выполнения сложных математических вычислений, описания сложных функций, функциональных блоков и программ.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Пример программы на языке il
Создать программу на языке IL согласно условиям задания 1.
Используем команду VAR … END _ VAR для объявления функциональных блоков и блоков DFB .
Объявляем переменные и их начальные значения в редакторе переменных. Создаем логику программы.
Листинг. Программа на языке IL
Рис. 1. Окно редактора переменных
Программирование ПЛК. Как понять язык LADDER за 5 минут!
ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Охарактеризуйте язык списка инструкций IL .
Текстовый язык IL ( Instruction List ) относится к ассемблероподобным языкам, т. е. к языкам низкого (машинного) уровня, что существенно облегчает, например, вызов функциональных блоков и функций «условно» или «безусловно», выполнение назначений и условных или безусловных переходов внутри секции.
Язык IL , позволяет создавать высокоэффективные и оптимизированные функции. Его можно рекомендовать для написания наиболее критических мест в программе.
Ассемблероподобные языки использовались для программирования компьютеров в 50-е годы прошлого века и все еще предлагаются некоторыми изготовителями ПЛК, особенно программистами, поддерживающими микроРС. Программу можно написать с помощью любого текстового редактора.
При вводе ключевых слов, разделителей и комментариев в редакторе предусмотрена непосредственная по буквам проверка. При обнаружении ключевого слова, разделителя или комментария они идентифицируются через цветовое затенение. При введении несанкционированных ключевых слов (назначений или операторов) они будут также идентифицироваться через цветовое затенение.
Согласно стандарту IEC 61131-3 ключевые слова должны быть введены в символах верхнего регистра.
Пробелы и метки табуляции не влияют на синтаксис, они могут использоваться везде.
Генерация объектного кода вместе с проверкой синтаксиса будет выполняться, когда секция закрыта. Любые найденные ошибки затем отображаются в окне сообщений. Однако проверка синтаксиса может также осуществляться во время создания программы или блока DFB командой Project → Analyze Section .
2. В чем назначение модификаторов в языке IL ?
Модификаторы влияют на выполнение предшествующего оператора.
3. Назовите три способа для вызова функциональных блоков в языке IL .
Чтобы найти имена доступных функциональных блоков и блоков DFB , нужно обратиться к библиотекам блоков. Существуют три способа для вызова функционального блока и блока DFB :
· оператором с CAL и списком входных параметров;
· оператором CAL и загрузкой или сохранением входных параметров;
· с помощью входных операторов.
Если функциональный блок не имеет входов или входы не будут параметрированы, функциональный блок должен все равно вызываться прежде, чем его выходы могут использоваться.
Каждый экземпляр FB / DFB может вызываться только один раз.
4. Для чего служат модификаторы в языке IL ?
Модификатор N используется, чтобы инвертировать побитно значение операнда. Модификатор N может применяться только к операндам типа данных ANY _ BIT .
Модификатор С используется, чтобы выполнить соответствующую команду, если значение аккумулятора равно 1 ( TRUE ). Модификатор С может применяться только к операндам типа данных BOOL .
Если модификатор С объединен с модификатором N , соответствующая команда выполняется, только если значение аккумулятора равно булеву 0 ( FALSE ).
Модификатор ( (левая круглая скобка) используется, чтобы задержать оценку операнда до появления оператора (правая круглая скобка). Число операций правой круглой скобки должно быть равным числу модификаторов левой круглой скобки. Круглые скобки могут быть вложенными.
5. Что такое оператор в языке IL ?
Оператор является символом для арифметической или логической операции, которая будет выполнена, или для вызова функции.
Операторы являются обобщенными, т. е. они автоматически корректируются к типу данных операнда.
6. С помощью какой команды производят прямое объявление адресов в языке IL ?
Объявление прямых адресов. В этом объявлении каждому используемому прямому адресу, который имеет тип данных, отличающийся от заданного по умолчанию типа данных, назначается тип данных по выбору.
Пример объявление прямых адресов приведен на рисунке далее.
Рис. 3. Объявление прямых адресов
Источник: mc-plc.ru