Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки пр в Concept.doc
Скачиваний:
22
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

6. Язык списка инструкций – il

Программа на языке программирования IL (Instruction List) состоит из последовательности инструкций (команд). Каждая инструкция размещается в отдельной строке и состоит из разделенных пробелами метки (необязательно), оператора (если необходимо, с модификатором), одного или более операндов и комментария (необязательно). Комментарии должны быть заключены в скобки со звездочками (*…*).

IL аккумуляторно-ориентированный язык. Аккумулятор это неявно-адресуемая область памяти PLC. Каждая инструкция неявно использует аккумулятор для хранения операндов и результатов выполнения операции. По этой причине список инструкций начинается с команды LD – загрузить в аккумулятор.

Аккумулятор автоматически подстраивается под тип загружаемого операнда. При выполнении операций с содержимым аккумулятора операнд и текущее содержимое аккумулятора должны быть одного типа данных.

Аккумуляторов может быть несколько. Их количество ограничивается только объемом памяти ПЛК.

Пример: Переменной Fan присвоить значение лог. произведения переменных Key1 и отрицания Key2.

Метка Опе- Опе- Комментарии

раторы ранды

START: LD Key1 (* Загрузка в аккумулятор значения *)

(* переменной Key1*)

ANDN Key2 (* В аккумуляторе значение лог.*)

(* произведения *)

ST Fan (* Переменной Fan присваивается *)

(* значение аккумулятора *)

В примере метка START является адресом перехода.

Операторы (в примере – LD, AND и ST) являются символами операций над операндами.

Модификатор (в примере – N) изменяет операцию.

Операндом (в примере - Key1, Key2 и Fan) может быть адрес, литерал, переменная, многоэлементная переменная, элемент многоэлементной переменной выход или вызов EFB/DFB.

Инструкции выполняются одна за другой сверху вниз. Последовательность выполнения инструкций может быть изменена модификаторами. Длина строки инструкции ограничена 300 символами. Длина IL секции ограничена только размером памяти PLC.

6.1. Операторы и модификаторы

Операторы это символы различных операций над операндами. Операторы делятся на операторы загрузки/сохранения, установки/сброса, операторы логических и арифметических операций, операторы операций сравнения, операторы вызова/возврата подпрограмм и пр. Список операторов приведен в табл. 6.1.

Модификаторы влияют на выполнение операторов. Список модификаторов и их описание приведен в табл. 6.2.

Таблица 6.1

Описание операторов

Оператор

Возможный идентификатор

Описание оператора

Возможные операнды

LD

N

Загружает значение операнда в аккумулятор

Литерал, переменная, прямой адрес типа данных ANY

ST

N

Сохраняет значение аккумулятора в операнде

Переменная, прямой адрес типа данных ANY

S

Устанавливает операнд в 1, если содержимое аккумулятора - 1

Переменная, прямой адрес типа данных BOOL

R

Устанавливает операнд в 0, если содержимое аккумулятора - 1

Продолжение таблицы 6.1

Оператор

Возможный идентификатор

Описание оператора

Возможные операнды

AND

N, N(, (

Логическое И

Литерал, переменная, прямой адрес типа данных ANY_BIT

OR

N, N(, (

Логическое ИЛИ

XOR

N, N(, (

Логическое исключающее ИЛИ

ADD

(

Сложение

Литерал, переменная, прямой адрес типа данных ANY_NUM или TIME

SUB

(

Вычитание

MUL

(

Умножение

DIV

(

Деление

GT

(

Сравнение: >

Литерал, переменная, прямой адрес типа данных ANY_ELEM

GE

(

Сравнение: >=

EQ

(

Сравнение: =

NE

(

Сравнение: <>

LE

(

Сравнение: <=

LT

(

Сравнение: <

JMP

C, CN

Прыжок на метку

Метка

CAL

C, CN

Вызов функционального блока или DFB

FBNAME (имя экземпляра)

FUNCNAME

Выполнение функции

Литерал, переменная, прямой адрес (тип данных подчинен функции)

)

Редактирование отсроченных действий

Таблица 6.2