Материал: Программируемые логические контроллеры SIMATIC S7-300 400. лабораторный практикум. Таратынов О.Ю., Ткалич С.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

> IN1 больше IN2;

< IN1 меньше IN2;

>= IN1 больше или равно IN2;

<= IN1 меньше или равно IN2.

Если условие сравнения выполняется, то RLO получает значение "1". Он сопрягается с результатами опроса последующих логических операций по схеме И, если они находятся в последовательной цепи и по схеме ИЛИ в случае параллельной цепи.

Поразрядные логические инструкции над словами

комбинируют пары слов (16 бит) или двойных слов (32 бита) побитно в соответствии с правилами булевой логики (рис. 7.8).

Рис. 7.8. Операции цифровой логики

Для выполнения логических операций над словами предоставляются следующие инструкции:

WAND_W - поразрядное И над словами

WOR_W - поразрядное ИЛИ над словами

WXOR_W - поразрядное исключающее ИЛИ над слова-

ми

85

WAND_DW - поразрядное И над двойными словами

WOR_DW - поразрядное ИЛИ над двойными словами

WXOR_DW - поразрядное исключающее ИЛИ над двойными словами

Операция выполняет над величинами, указанными на входах IN1и IN2, поразрядное “умножение” в соответствии с таблицей истинности для операции AND. Результат операции сохраняется по адресу, указанному на выходе OUT. Инструкция выполняется, когда EN = 1.

Математические инструкции

Система команд S7-300/400 поддерживает ряд математических функций (рис. 7.9).

Рис. 7.9. Основные математические функции

Все команды имеют аналогичный формат:

EN - команда выполняется, если на входе разрешения EN

RLO=1 .

ENO - если результат находится за пределами допустимого диапазона для соответствующего типа данных, биты пе-

86

реполнения OV и сохраненного переполнения OS устанавливаются в единицу, а на выходе разрешения ENO=0. Это предотвращает от выполнения последующие операции связанные с выходом ENO.

IN1, IN2 - величина на входе IN1 читается как первый операнд, а величина на входе IN2 как второй.

OUT - результат математической операции сохраняется по адресу, указанному на выходе OUT.

Используя математические инструкции с целыми числами, Вы можете выполнять операции с двумя числами типа

Integer (16 и 32 битовыми):

ADD_I - сложение целых чисел

SUB_I - вычитание целых чисел

MUL_I - умножение целых чисел

DIV_I - деление целых чисел

ADD_DI - сложение двойных целых чисел

SUB_DI - вычитание двойных целых чисел

MUL_DI - умножение двойных целых чисел

DIV_DI - деление двойных целых чисел

MOD_DI - получение остатка от деления двойных целых чисел

Вы можете использовать математические инструкции с плавающей точкой для выполнения следующих математических операций, использующих два 32–битных числа с плавающей точкой (вещественный тип данных REAL) в формате

IEEE:

ADD_R – сложение;

SUB_R – вычитание;

MUL_R – умножение;

DIV_R – деление;

ABS - вычисление абсолютного значения числа с плавающей точкой;

SQR - вычисление квадрата и квадратного корня (SQRT) числа с плавающей точкой;

87

LN - вычисление натурального логарифма числа с плавающей точкой;

EXP - вычисление экспоненты числа с плавающей точкой по основанию e (е = 2.71828...);

Вычисление следующих тригонометрических функций угла, представленного в виде 32–битного числа с плавающей точкой:

- синуса числа с плавающей точкой (SIN) и арксинуса числа с плавающей точкой (ASIN);

- косинуса числа с плавающей точкой (COS) и арккосинуса числа с плавающей точкой (ACOS);

- тангенса числа с плавающей точкой (TAN) и арктангенса числа с плавающей точкой (ATAN).

Инструкции сдвига

С помощью инструкций сдвига Вы можете побитно сдвигать содержимое входа IN влево или вправо (рис. 7.10).

Рис. 7.10. Операции сдвига (слово / двойное слово)

Число, задаваемое Вами для входного параметра N, показывает, на сколько битов должен производиться сдвиг. Разря-

88

ды, освобождающиеся вследствие операции сдвига, заполняются нулями или состоянием знакового бита (”0” в случае положительного числа, ”1” в случае отрицательного числа). Бит, сдвигаемый последним, загружается в бит СС1 слова состояния. Биты CC0 и OV сбрасываются в “0”. Вы можете оценить бит CC1 слова состояния с помощью операций перехода. Вы можете использовать следующие инструкции сдвига:

SHR_I - сдвиг вправо числа типа Integer

SHR_DI - сдвиг вправо числа типа Double Integer

SHL_W - сдвиг слова влево

SHR_W - сдвиг слова вправо

SHL_DW - сдвиг двойного слова влево

SHR_DW - сдвиг двойного слова вправо

Сдвиг на n битов влево умножает содержимое входа IN на 2n; сдвиг на n битов вправо делит содержимое входа IN на

2n (рис. 7.11).

Рис. 7.11. Сдвиг вправо числа со знаком

SHR_I / SSI - операция Shift Right Signed Integer (сдвиг вправо со знаком) сдвигает вправо только ACCU1-L (биты 0 -

89

Источник: https://studfile.net/preview/16568750/