Найти в Дзене
sdt42

Модификаторы и операторы списка инструкций IL

Мы продолжаем изучать программирование ПЛК ОВЕН в универсальной среде программирования CoDeSys. В этой публикации мы познакомимся с модификаторами и операторами языка IL (список инструкций). С предыдущей публикацией по программированию ПЛК, посвященной знакомству с языками программирования, с использованием которых можно писать программы в CoDeSys, можно ознакомиться здесь. Язык IL (Instruction List) — список инструкций. Это типичный ассемблер с аккумулятором и переходами по меткам. Набор инструкций стандартизован и не зависит от конкретной целевой платформы. Поскольку IL самый простой в реализации язык, он получил очень широкое распространение до принятия стандарта МЭК. Язык IL позволяет работать с любыми типами данных, вызывать функции и функциональные блоки, реализованные на любом языке. Таким образом, на IL можно реализовать алгоритм любой сложности, хотя текст будет достаточно громоздким. Общие сведения Текст на IL — это текстовый список последовательных инструкций. Каждая инструк
Оглавление

Мы продолжаем изучать программирование ПЛК ОВЕН в универсальной среде программирования CoDeSys. В этой публикации мы познакомимся с модификаторами и операторами языка IL (список инструкций). С предыдущей публикацией по программированию ПЛК, посвященной знакомству с языками программирования, с использованием которых можно писать программы в CoDeSys, можно ознакомиться здесь.

Язык IL (Instruction List) — список инструкций. Это типичный ассемблер с аккумулятором и переходами по меткам. Набор инструкций стандартизован и не зависит от конкретной целевой платформы. Поскольку IL самый простой в реализации язык, он получил очень широкое распространение до принятия стандарта МЭК. Язык IL позволяет работать с любыми типами данных, вызывать функции и функциональные блоки, реализованные на любом языке. Таким образом, на IL можно реализовать алгоритм любой сложности, хотя текст будет достаточно громоздким.

Общие сведения

Текст на IL — это текстовый список последовательных инструкций. Каждая инструкция записывается на отдельной строке. Инструкция может включать четыре поля, разделенные пробелами или знаками табуляции:

Метка: Оператор Операнд Комментарий

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

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

Программа на IL выполняется подряд, сверху вниз. Для изменения порядка выполнения и организации циклов применяется переход на метку. Переход на метку может быть безусловным JMP — выполняется всегда, независимо от чего-либо. Условный переход JMPC выполняется только при значении аккумулятора ИСТИНА. Переход можно выполнять как вверх, так и вниз.

Пример IL-программы
Пример IL-программы

Попробуйте разобраться в данной программе самостоятельно, применив знания из следующего раздела

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

В IL можно использовать следующие операторы и модификаторы.

Модификаторы

Модификаторы
Модификаторы

Операторы IL

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

-3

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

-4

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

-5

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

В этой статье мы познакомились с модификаторами и операторами языка IL, используемыми в проектах CoDeSys. На следующем уроке начнем разбираться с операторами языка программирования ST (структурированный текст), используемыми в проектах CoDeSys.