Операции с битами состояния являются битовыми логическими командами, которые работают с битами слова состояния. Каждая из этих команд реагирует на одно из следующих условий, отображаемых одним или несколькими битами слова состояния:
- Бит двоичного результата установлен (имеет состояние 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) в соответствии с таблицей истинности для И. В операции ИЛИ используется таблица истинности для ИЛИ.
Пример поразрядное ИЛИ над словами и биты слова состояния
![]() |
Если состояние сигнала на входе 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 в слове состояния устанавливается. Если состояние сигнала на входе 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. |
<—Предыдущая глава |