Операции с битами состояния являются битовыми логическими
командами, которые работают с битами слова состояния.
Каждая из этих команд реагирует на одно из следующих условий, отображаемых
одним или несколькими битами слова состояния:
- Бит двоичного результата установлен (имеет состояние 1)
- Результат арифметической операции находится по отношению к 0 в одном из
следующих состояний:
- больше 0 (>0)
- меньше 0 (<0)
- больше или равен 0 (>=0)
- меньше или равен 0 (<=0)
- равен 0 (==0)
- не равен 0 (<>0)
- Результат арифметической операции недопустим
- Арифметическая операция привела к переполнению.
В операции И команды над битами состояния комбинируют результат
их опроса с предшествующим результатом логической операции в соответствии
с таблицей истинности для И. В операции ИЛИ используется
таблица истинности для ИЛИ. На этой страничке
представлен элемент Бит ошибки “Двоичный результат”, контролирующий состояние
бита BR (Binary Result - двоичный результат) слова состояния.

Элементы функционального плана, описанные в следующих разделах, не имеют
выбираемых параметров.
Бит ошибки “Двоичный результат”
Вы можете использовать команду Бит ошибки “Двоичный результат” для контроля
состояния сигнала бита BR (двоичный результат) слова состояния. В операции
И результат опроса комбинируется с предыдущим RLO в соответствии с таблицей
истинности для И. А в операции ИЛИ используется таблица истинности
для ИЛИ.

Пример
бита слова состояния
Биты результата
Можно использовать команды Бит результата для определения отношения
результата арифметической операции к нулю, иными словами, является ли результат
>0, <0, >=0, <=0, ==0, или <>0 Для этого анализируются биты
кода условия (СС1 и СС0). Если условие сравнения, указанное в операнде, выполняется,
то результат опроса этого состояния сигнала равен 1.
В операции И эта команда комбинирует результат своего опроса с предыдущим
результатом логической операции (RLO) в соответствии с таблицей
истинности для И. В операции ИЛИ эта команда комбинирует результат
своего опроса с предыдущим результатом логической операции (RLO) в соответствии
с таблицей истинности для ИЛИ.
| Элемент FBD |
Описание |
 |
Команда “Бит результата” для сравнения на >
0 определяет, больше ли 0 результат арифметичекой операции. Для определения
отношения результата к 0 она опрашивает комбинацию битов кода условия СС1
и СС0 слова состояния. |
 |
Команда “Бит результата” для сравнения на <
0 определяет, меньше ли 0 результат арифметичекой операции. Для определения
отношения результата к 0 она опрашивает комбинацию битов кода условия СС1
и СС0 слова состояния. |
 |
Команда “Бит результата” для сравнения на >= 0 определяет,
больше или равен 0 результат арифметичекой операции. Для определения отношения
результата к 0 она опрашивает комбинацию битов кода условия СС1 и СС0 слова
состояния. |
 |
Команда “Бит результата” для сравнения на <=
0 определяет, меньше или равен 0 результат арифметичекой операции. Для определения
отношения результата к 0 она опрашивает комбинацию битов кода условия СС1
и СС0 слова состояния. |
 |
Команда “Бит результата” для сравнения на равенство
0 определяет, равен ли 0 результат арифметичекой операции. Для определения
отношения результата к 0 она опрашивает комбинацию битов кода условия СС1
и СС0 слова состояния. |
 |
Команда “Бит результата” для сравнения на неравенство
0 определяет, не равен ли 0 результат арифметичекой операции. Для определения
отношения результата к 0 она опрашивает комбинацию битов кода условия СС1
и СС0 слова состояния. |
Пример
использования битов результата
Бит ошибки “Неупорядочено”
Вы можете использовать команду Бит ошибки “Неупорядочено” для проверки,
является ли результат арифметической операции с плавающей точкой неупорядоченным
(иными словами, не является ли одно из значений, с которым выполняется операция,
недопустимым числом с плавающей точкой). Для этого анализируются биты кода
условия слова состояния (СС1 и СС0). Если результат арифметической операции
является неупорядоченным (UO = unordered -неупорядочен), то опрос состояния
сигнала дает результат 1. Если комбинация СС1 и СС0 не указывает на неупорядоченность
результата арифметической операции, то опрос состояния сигнала дает 0.
В операции И эта команда комбинирует результат своего опроса с предыдущим
результатом логической операции (RLO) в соответствии с таблицей истинности
для И. В операции ИЛИ используется таблица истинности для ИЛИ.
Пример
поразрядное ИЛИ над словами и биты слова состояния для контроллеров SIMATIC
 |
Если состояние сигнала на входе I0.0 равно 1, то блок DIV_R
активизируется. Если знчение одного из двойных входных слов ID0 или ID4
не является допустимым числом с плавающей точкой, то арифметическая операция
с плавающей точкой неупорядочена. Если состояние сигнала EN равно 1 (активизирован)
и при выполнении команды возникает ошибка, то состояние сигнала на ENO равно
0. Выход Q4.0 устанавливается, если функция DIV_R выполняется, но одно из
значений в арифметической функции не является допустимым числом с плавающей
точкой. Если состояние сигшнала на входе I0.0 равно 0 (не активизирован).
тосостояние сигнала на EN и ENO равно 0. |
Бит ошибки “Переполнение”
Вы можете использовать команду Бит ошибки “Переполнение” для обнаружения
переполнения (OV) в последней арифметической операции. Если после выполнения
арифметической операции результат оказывается за пределами допустимого диапазона
в отрицательной или положительной области, то бит OV в слове состояния устанавливается.
Команда опрашивает состояние этого бита. Этот бит сбрасывается, если арифметическая
операция была выполнена без ошибок.
В операции И эта команда комбинирует результат своего опроса с предыдущим
результатом логической операции в соответствии с таблицей истинности для И.
В операции ИЛИ используется таблица истинности для ИЛИ.
 |
Если состояние сигнала на входе I0.0 равно 1, то блок SUB_I активизируется.
Если результат арифметической операции вычитания входного слова IW2 из
входного слова IW0 находится за пределами допустимого диапазона для целых
чисел то бит OV в слове состояния устанавливается.
Результат опроса состояния сигнала на OV равен 1.
Выход Q4.0 устанавливается, если опрос на OV равен 1 и RLO сегмента 2 равен
1 (если RLO перед выходом Q4.0 равен 1).
Если состояние сигнала на входе I0.0 равно 0 (не активизирован), то состояние
сигнала EN и ENO равно 0.
Если состояние сигнала на EN равно 1 (активизирован) и результат арифметической
операции выходит за пределы допустимого диапазона, то состояние сигнала
ENO равно 0.
|
Бит ошибки “Переполнение с запоминанием”
Вы можете использовать команду Бит ошибки “Переполнение с запоминанием”
для распознавания предыдущего переполнения (OS, overflow stored - переполнение
с сохранением) в арифметической операции. Если после выполнения арифметической
операции результат оказывается за пределами допустимого диапазона в отрицательной
или положительной области, то бит OS в слове состояния
устанавливается. Команда опрашивает состояние этого бита. В отличие от
бита OV (переполнение) бит OS остается установленным, даже если следующие
арифметические операции были выполнены без ошибок.
В операции И эта команда комбинирует результат своего опроса с предыдущим
результатом логической операции в соответствии с таблицей истинности для И.
В операции ИЛИ используется таблица истинности для ИЛИ.
Пример
поразрядного исключающего ИЛИ над словами и биты слова состояния
 |
Если состояние сигнала на входе I0.0 равно 1, то блок MUL_I
активизируется. Если состояние сигнала на входе I0.1 равно 1, то блок ADD_I
активизируется. Если результат одной из этих арифметических операций выходит
за пределы допустимого диапазона для целых чисел, то бит OS в слове состояния
устанавливается. Результат опроса состояния сигнала на OS равен 1 и выход
Q4.0 устанавливается.
Сегмент 1: Если состояние сигнала на входе I0.0 равно 0 (не активизирован),
то состояние сигнала EN и ENO равно 0. Если состояние сигнала на EN равно
1 (активизирован) и результат арифметической операции выходит за пределы
допустимого диапазона, то состояние сигнала на ENO равно 0.
Сегмент 2: Если состояние сигнала на входе I0.1 равно 0 (не активизирован),
то состояние сигнала EN и ENO равно 0. Если состояние сигнала на EN равно
1 (активизирован) и результат арифметической операции выходит за пределы
допустимого диапазона, то состояние сигнала на ENO равно 0. |
Поразрядное исключающее ИЛИ над двойными словами
Команда Поразрядное исключающее ИЛИ над двойными словами по сути
дела таже команда Поразрядное исключающее ИЛИ над словами разница лишь
в том, что работает она с двойными словами
| Элемент FBD |
Параметры |
Тип данных |
Область памяти |
Описание |
 |
IN1 |
DWORD |
I, Q, M, D, L или константа |
Первое число |
| IN2 |
DWORD |
I, Q, M, D, L или константа |
Второе число |
| OUT |
DWORD |
I, Q, M, D, L |
Результат операции |
| EN |
BOOL |
I, Q, M, D, L ,T, C |
Деблокировка входа |
| ENO |
BOOL |
I, Q, M, D, L |
Деблокировка выхода |
Пример
поразрядного исключающего ИЛИ над двойными словами и биты слова состояния
|