Мы продолжаем изучать программирование ПЛК ОВЕН в универсальной среде программирования CoDeSys. В этой публикации представлены модификаторы и операторы языка IL (список инструкций).
Язык IL (Instruction List) — список инструкций. Это типичный ассемблер с аккумулятором и переходами по меткам. Набор инструкций стандартизован и не зависит от конкретной целевой платформы. Поскольку IL самый простой в реализации язык, он получил очень широкое распространение до принятия стандарта МЭК. Язык IL позволяет работать с любыми типами данных, вызывать функции и функциональные блоки, реализованные на любом языке. Таким образом, на IL можно реализовать алгоритм любой сложности, хотя текст будет достаточно громоздким.
Общие сведения
Текст на IL — это текстовый список последовательных инструкций. Каждая инструкция записывается на отдельной строке. Инструкция может включать четыре поля, разделенные пробелами или знаками табуляции:
Метка инструкции не является обязательной, она ставится только там, где нужно. Оператор присутствует обязательно. Операнд необходим почти всегда. Комментарий — необязательное поле, записывается в конце строки. Ставить комментарии между полями инструкции нельзя.
Аккумулятор IL является универсальным контейнером, способным сохранять значения переменных любого типа. Команды сравнения сравнивают значение операнда и аккумулятора, результат сравнения ИСТИНА или ЛОЖЬ вновь помещается в аккумулятор.
Программа на IL выполняется подряд, сверху вниз. Для изменения порядка выполнения и организации циклов применяется переход на метку. Переход на метку может быть безусловным JMP — выполняется всегда, независимо от чего-либо. Условный переход JMPC выполняется только при значении аккумулятора ИСТИНА. Переход можно выполнять как вверх, так и вниз.
Пример IL-программы:
Модификаторы и операторы языка IL
В IL можно использовать следующие операторы и модификаторы.
Модификаторы
Операторы IL
Ниже приведена таблица всех операторов IL с пояснениями и допустимыми модификаторами.
Операция MUL выполняется только тогда, когда программа доходит до “)”. В качестве операнда MUL использует значение 5.
Источник: https://www.sdt42.ru/модификаторы-и-операторы-списка-инст/