ОбзорБитовые логические операции работают с двумя цифрами: 1 и 0. Эти две цифры образуют основание системы счисления, называемой двоичной системой. Две цифры 1 и 0 называются двоичными цифрами или битами. В мире контактов и катушек 1 означает активное состояние или протекание тока, а 0 – неактивное состояние или отсутствие протекания тока. Битовые логические операции интерпретируют сигнальные состояния 1 и 0 и сопрягают их в соответствии с правилами булевой логики. Эти сопряжения дают результат 1 или 0, который называется «результатом логической операции» (RLO). Логические операции, запускаемые битовыми логическими командами, выполняют ряд функций. Имеются битовые логические команды для выполнения следующих функций:
Нормально открытый контактКоманду Нормально открытый контакт можно использовать для опроса
состояния сигнала контакта по указанному адресу. Если состояние сигнала
по указанному адресу равно 1, то контакт замкнут, и команда дает результат,
равный 1. Если состояние сигнала по указанному адресу равно 0, то контакт
разомкнут, и команда дает результат, равный 0.
Нормально замкнутый контактПо сути дела Нормально замкнутый контакт является инверсией команды Нормально открытый контакт. То есть если сигнал на указанном адресе равен 0 то контакт замкнут и дает 1. Если сигнал на указанном адресе равен 1 то контакт разомкнут и не пропускает ток , те на выходе 0. Используя Нормально замкнутый контакт параллельно вы получите логическую функцию И.
Выходная катушкаКоманда Выходная катушка работает подобно катушке в релейно-контактной схеме. Катушка в конце цепи пропускает или не пропускает ток в зависимости от следующих критериев:
Цепь логических операций представляет цепь тока. Команда Выходная катушка присваивает состояние сигнала логической цепи LAD катушке, к которой адресуется команда (это то же самое, что и присвоение состояния сигнала бита RLO операнду). Если ток течет через цепь, то состояние сигнала логической цепи равно 1; в противном случае состояние сигнала равно 0. Выходную катушку можно поместить только на правом конце логической цепи. Возможно использование нескольких Выходных катушек. Выходную катушку нельзя помещать одну в пустой сегмент. Катушка должна иметь предшествующее соединение. Также можно инвертировать выход, с помощью команды инвертировать выход.
Промежуточный выход (коннектор)Промежуточный выход (коннектор) – это промежуточный присваивающий элемент, который запоминает битовую логическую комбинацию последней открытой ветви перед этим элементом. При последовательном соединении с другими контактами Промежуточный выход (коннектор) действует как обычный контакт. Коннектор не может размещаться в конце сегмента или в конце открытой
ветви.
Для команды Промежуточный выход (коннектор) можно использовать только адрес из области памяти L, только если вы описываете его в VAR_TEMP. С этой командой вы не можете использовать область памяти L для абсолютной адресации.
Инвертирование результата логической операцииКоманда Инвертировать результат логической операции (Инверсия) выполняет отрицание RLO.
Сохранение RLO в регистре BRДанная команда сохраняет RLO в бите BR слова состояния. Бит первичного
опроса FC не сбрасывается.
Установка выходаУстановка выхода выполняется только тогда, когда RLO = 1. Если RLO = 1, эта команда устанавливает указанный адрес в 1. Если RLO = 0, команда не оказывает влияния на указанный адрес. Адрес остается неизменным.
Сброс выходаСброс выхода выполняется только тогда, когда RLO = 1. Если RLO = 1, эта
команда сбрасывает указанный адрес в 0. Если RLO = 0, команда не оказывает
влияния на указанный адрес и он остается неизменным.
Установка начального значения счетчикаВы можете использовать команду Установить начальное значение счетчика (SC), чтобы поместить предварительно заданное значение в указанный вами счетчик. Команда выполняется только при положительном фронте RLO (т.е. в RLO имеет место переход из 0 в 1).
Катушка со счетчиком прямого счетаКатушка со счетчиком прямого счета (CU) увеличивает значение указанного
счетчика на единицу, если RLO имеет положительный фронт (т.е. в RLO имеет
место переход с 0 на 1) и значение счетчика меньше 999. Если положительный
фронт RLO отсутствует или счетчик уже достиг 999, то значение счетчика
не изменяется.
Катушка со счетчиком обратного счетаКатушка со счетчиком обратного счета (CD) уменьшает значение указанного
счетчика на единицу, если RLO имеет положительный фронт (т.е. в RLO имеет
место переход с 0 на 1) и значение счетчика больше 0. Если положительный
фронт RLO отсутствует или счетчик уже в 0, то значение счетчика не изменяется.
Катушка с таймером – формирователем импульсаКатушка с таймером – формирователем импульса (SP) запускает указанный таймер с заданным значением времени, если RLO имеет положительный фронт. Таймер продолжает работать с заданным временем, пока значение RLO положительно. Опрос состояния сигнала таймера на 1 дает результат, равный 1, пока таймер работает. Если RLO меняется с 1 на 0 до истечения заданного времени, то таймер останавливается. В этом случае опрос состояния сигнала на 1 дает результат, равный 0. Единицами времени являются d (дни), h (часы), m (минуты), s (секунды) и ms (миллисекунды). За информацией о размещении таймера в памяти и его компонентах обратитесь к разделу 4.
Катушка с таймером – формирователем удлиненного импульсаКатушка с таймером – формирователем удлиненного импульса (SE) запускает
указанный таймер с заданным значением времени, если RLO имеет положительный
фронт. Таймер продолжает работать с заданным временем, даже если RLO становится
равным 0 до истечения этого времени. Опрос состояния сигнала таймера на
1 дает результат, равный 1, пока таймер работает. Если RLO изменяется
с 0 на 1 во время работы таймера, то таймер перезапускается с заданным
временем.
Катушка с таймером – формирователем задержки
|
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
| <Адрес> (SD) <Значение времени> |
номер таймера | TIMER | T | Адрес указывает номер таймера, который должен быть запущен. |
| Значение времени |
S5TIME | I, Q, M, D, L | Значение времени (в формате S5TIME) |
Катушка с таймером – формирователем задержки включения с запоминанием
(SS) запускает указанный таймер, если RLO имеет положительный фронт .
Таймер продолжает работать с указанным временем, даже если RLO меняется
на 0 до истечения времени. Опрос состояния таймера на 1 дает результат,
равный 1, когда время истекло, независимо от RLO. Таймер перезапускается
с заданным временем, если во время работы таймера RLO меняется с 0 на
1.
За информацией о размещении таймера
в памяти и его компонентах обратитесь к разделу 4
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
| <Адрес> (SS) <Значение времени> |
номер таймера | TIMER | T | Адрес указывает номер таймера, который должен быть запущен. |
| Значение времени |
S5TIME | I, Q, M, D, L | Значение времени (в формате S5TIME) |
Катушка с таймером – формирователем задержки выключения (SF) запускает
указанный таймер, если RLO имеет отрицательный фронт
(т.е. в RLO имеет место переход с 1 на 0). Результат опроса состояния
сигнала таймера на 1 равен 1, когда RLO равен 1 или когда таймер работает.
Когда RLO изменяется с 0 на 1 во время работы таймера, таймер сбрасывается.
Таймер не перезапускается, пока RLO не поменяет свое значение с 1 на 0.
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
| <Адрес> (SF) <Значение времени> |
номер таймера | TIMER | T | Адрес указывает номер таймера, который должен быть запущен. |
| Значение времени |
S5TIME | I, Q, M, D, L | Значение времени (в формате S5TIME) |
Операция Обнаружение положительного фронта RLO распознает изменение во введенном адресе с 0 на 1 (нарастающий фронт) и отображает это после выполнения операции как RLO = 1. Текущее состояние сигнала в RLO сравнивается с состоянием сигнала адреса, бита памяти фронта. Если состояние сигнала адреса равно 0, а RLO перед операцией был равен 1, то RLO после операции будет равен 1 (импульс), и 0 во всех остальных случаях. Значение RLO перед операцией хранится в адресе.
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
| <Адрес> (P) |
<Адрес> | BOOL | Q, M, D | Адрес указывает на бит памяти фронта, который хранит предыдущее значение RLO. |
Операция Обнаружение отрицательного фронта RLO распознает изменение во введенном адресе с 1 на 0 (падающий фронт) и отображает это после выполнения операции как RLO = 1. Текущее состояние сигнала в RLO сравнивается с состоянием сигнала адреса, бита памяти фронта. Если состояние сигнала адреса равно 1, а RLO перед операцией был равен 0, то RLO после операции будет равен 0 (импульс), и 1 во всех остальных случаях. Значение RLO перед операцией хранится в адресе.
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
| <Адрес> (N) |
<Адрес> | BOOL | Q, M, D | Адрес указывает на бит памяти фронта, который хранит предыдущее значение RLO. |
Команда Обнаружение положительного фронта сигнала сравнивает состояние сигнала <адрес 1> с результатом опроса состояния сигнала, хранящимся в <адрес 2>. Если имеет место переход с 0 на 1, то выход Q равен 1. В противном случае он равен 0.
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
<Адрес1> | BOOL | I, Q, M, D, L | Сигнал, подлежащий контролю на появление положительного фронта. |
| M_BIT | BOOL | Q, M, D | Адрес M_BIT указывает бит памяти фронта, который хранит предыдущее состояние сигнала POS. Используйте для M_BIT область памяти входов образа процесса (I) только в том случае, если этот адрес уже не занят ни одним из модулей ввода. | |
| Q | BOOL | I, Q, M, D, L | Выход с однократным импульсом. |
Команда Обнаружение отрицательного фронта сигнала сравнивает состояние сигнала <адрес 1> с результатом опроса состояния сигнала, хранящимся в <адрес 2>. Если имеет место переход с 1 на 0, то выход Q равен 1. В противном случае он равен 0.
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
<Адрес1> | BOOL | I, Q, M, D, L | Сигнал, подлежащий контролю на появление отрицательного фронта. |
| M_BIT | BOOL | Q, M, D | Адрес M_BIT указывает бит памяти фронта, который хранит предыдущее состояние сигнала NEG. Используйте для M_BIT область памяти входов образа процесса (I) только в том случае, если этот адрес уже не занят ни одним из модулей ввода. | |
| Q | BOOL | I, Q, M, D, L | Выход с однократным импульсом. |
Команда Установить-сбросить триггер (SR.триггер) выполняет операции установки (S) и сброса (R) только тогда, когда RLO равен 1. RLO, равный 0, не оказывает влияния на эти операции; адрес, указанный в операции, остается неизменным. SR.триггер устанавливается, если состояние сигнала равно 1 на входе S и равно 0 на входе R. В противном случае, если состояние сигнала равно 0 на входе S и 1 на входе R, триггер сбрасывается. Если RLO равен 1 на обоих входах, триггер сбрасывается.
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
<Адрес> | BOOL | I, Q, M, D, L | Адрес указывает бит, который должен быть установлен или сброшен. |
| S | BOOL | I, Q, M, D, L | Разрешенная операция установки | |
| R | BOOL | I, Q, M, D, L | Разрешенная операция сброса | |
| Q | BOOL | I, Q, M, D, L | Состояние сигнала <адрес> |
Команда Сбросить-установить триггер (RS.триггер) выполняет операции установки (S) и сброса (R) только тогда, когда RLO равен 1. RLO, равный 0, не оказывает влияния на эти операции; адрес, указанный в операции, остается неизменным. RS.триггер сбрасывается, если состояние сигнала равно 1 на входе R и равно 0 на входе S. В противном случае, если состояние сигнала равно 0 на входе R и 1 на входе S, триггер устанавливается. set. Если RLO равен 1 на обоих входах, триггер устанавливается.
|
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
<Адрес> | BOOL | I, Q, M, D, L | Адрес указывает бит, который должен быть установлен или сброшен. |
| R | BOOL | I, Q, M, D, L | Разрешенная операция сброса | |
| S | BOOL | I, Q, M, D, L | Разрешенная операция установки | |
| Q | BOOL | I, Q, M, D, L | Состояние сигнала <адрес> |
| <--Предыдущая статья | Следующая статья --> |