IL – это текстовый язык программирования ПЛК, который по синтаксису напоминает ассемблер. IL был одним из первых языков программирования ПЛК. Язык IL считают языком низкого уров- ня – это означает, что IL приближен к машинному языку – двоич- ному коду, который центральный процессор компьютера выполняет непосредственно.
Программы, написанные на языке IL, – это последовательности команд. Команды состоят из операторов и операндов, которые
могут быть переменными, константами или метками. Кроме того, программы могут дополняться комментариями.
Инструкции языка IL выполняют операции с содержимым акку- мулятора. Аккумулятор IL – универсальный регистр (регистр – ячейка памяти в ЦПУ), способная сохранять значения переменных любого типа. Программа на IL выполняется подряд, сверху вниз. Для изменения порядка выполнения операций применяется пере- ход на метку. Переход выполняется как вверх, так и вниз.
Стандартные операторы IL:
LD – загрузить значение операнда в аккумулятор; ST – присвоить значение аккумулятора операнду;
S – если аккумулятор True, установить логический операнд
(True);
R – если аккумулятор True, сбросить логический операнд
(False);
AND, OR, XOR, NOT – поразрядные логические операторы; ADD, SUB, MUL, DIV, MOD – арифметические операторы; GT, GE, EQ, NE, LE, LT – операторы сравнения;
JMP, CAL, RET – операторы перехода к метке, вызова функцио- нального блока и выхода из функционального блока, соответственно.
Пример программы на языке IL приведен на рис. 34. Первая ко- манда – LD x – загружает значение переменной x ОЗУ в регистр- аккумулятор. Следующая команда – MUL A – выполняет умно- жение содержимого регистра-аккумулятора на значение перемен- ной A, при этом результат умножения сохраняется в регистре- аккумуляторе. Команда ADD B выполняет суммирование значения в регистре-аккумуляторе со значением переменной B, результат суммирования также сохраняется в регистре-аккумуляторе. Послед- няя команда – ST Y – копирует значение из регистра-аккумулятора в переменную Y в ОЗУ.
Рис. 34. Пример программы на языке IL – код, реализующий линейное преобразование Y=A*x+B
Язык IL имеет недостатки, которые присущи другим низкоуров- невым языкам программирования: сложность и высокую трудоем- кость программирования, трудность модификации написанных на нем программ, малую степень «видимого» соответствия исходного текста программы и решаемой задачи.
Ввиду своей ненаглядности, IL практически не используется для программирования комплексных алгоритмов автоматизированного управления, но часто применяется для кодирования отдельных функциональных блоков, из которых впоследствии складываются схемы FBD или CFC. При этом IL позволяет достичь высокой оп- тимальности кода: программные блоки, написанные на IL, имеют высокую скорость исполнения и наименее требовательны к ресур- сам контроллера.