Операции с битами состояния являются битовыми логическими командами, которые работают с битами слова состояния. Каждая из этих команд реагирует на одно из следующих условий, отображаемых одним или несколькими битами слова состояния:

  • Бит двоичного результата установлен (имеет состояние 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 Деблокировка выхода

Пример поразрядного исключающего ИЛИ над двойными словами и биты слова состояния

 

<—Предыдущая глава  



Rambler's Top100


Сделано djoni