Язык 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 значение аккумулятора*) |
В основе языка лежит понятие аккумулятора и переходов по меткам. Пример программы на зыке IL с комментариями приведен в листинге 4. Начинается программа с загрузки в аккумулятор значения переменной. Дальнейшие шаги программы состоят в извлечении содержимого аккумулятора и выполнении над ним ограниченного числа допустимых действий (их в языке всего 24).
|
|
Структурированный текст, ST
Язык ST является текстовым языком высокого уровня и очень сильно напоминает Паскаль:
Листинг 5. Пример программы на языке ST
IF Voltage>220 THEN
Current:=Current - 10; (*Если V>220 В, то уменьшить ток на 10*)
ELSE
Current:=50; Speed:= ON;(*Установить ток 50А и включить мотор*)
END_IF;
Язык ST имеет много отличий от языка Паскаль и разработан специально для программирования ПЛК. Он содержит множество конструкций для присвоения значений переменным, для вызова функций и функциональных блоков, для написания выражений условных переходов, выбора операторов, для построения итерационных процессов. Этот язык предназначен в основном для выполнения сложных математических вычислений, описания сложных функций, функциональных блоков и программ.