Обзор
Битовые логические операции работают с двумя цифрами: 1 и 0. Эти две цифры образуют основание системы счисления, называемой двоичной системой. Две цифры 1 и 0 называются двоичными цифрами или битами. В мире контактов и катушек 1 означает активное состояние или протекание тока, а 0 – неактивное состояние или отсутствие протекания тока. Битовые логические операции интерпретируют сигнальные состояния 1 и 0 и сопрягают их в соответствии с правилами булевой логики. Эти сопряжения дают результат 1 или 0, который называется «результатом логической операции» (RLO). Логические операции, запускаемые битовыми логическими командами, выполняют ряд функций.
Имеются битовые логические команды для выполнения следующих функций:
- Нормально открытый и нормально замкнутый контакт опрашивают состояние сигнала контакта и дают результат, который или копируется в бит результата логической операции (RLO), или логически сопрягаются с RLO. Если эти контакты соединены последовательно, то они сопрягают результат опроса состояния сигнала в соответствии с таблицей истинности для логической функции И; если они соединены параллельно, то они сопрягают свой результат в соответствии с таблицей истинности для логической функции ИЛИ.
- Выходная катушка и промежуточный выход (коннектор) присваивают RLO или временно запоминают его.
- Следующие команды реагируют на RLO, равный 1:
- установка выхода и сброс выхода
- триггеры "Установка-сброс" и "Сброс-установка"
- Другие команды реагируют на положительный или отрицательный фронт для выполнения следующих функций:
- увеличение и уменьшение значения счетчика
- запуск таймера
- создание выхода, равного 1
- Остальные команды воздействуют на RLO непосредственно следующими способами:
- отрицание (инвертирование) RLO
- сохранение RLO в бите двоичного результата слова состояния
Нормально открытый контакт
Команду Нормально открытый контакт можно использовать для опроса состояния сигнала контакта по указанному адресу. Если состояние сигнала по указанному адресу равно 1, то контакт замкнут, и команда дает результат, равный 1. Если состояние сигнала по указанному адресу равно 0, то контакт разомкнут, и команда дает результат, равный 0.
Когда Нормально открытый контакт (адрес) является первой командой в логической цепи, эта команда сохраняет результат опроса сигнала в бите результата логической операции (RLO). Любая команда Нормально открытый контакт (адрес), не являющаяся первой в логической цепи, сопрягает результат опроса состояния сигнала со значением, хранящимся в бите RLO. Эта команда формирует сопряжение одним из следующих двух способов:
- Если команда используется в последовательном соединении, то она сопрягает результат опроса состояния сигнала в соответствии с таблицей истинности логической функции И.
- Если команда используется в параллельном соединении, то она сопрягает результат опроса состояния сигнала в соответствии с таблицей истинности логической функции ИЛИ.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<адрес> —| |— |
<адрес> | BOOL, TIMER, COUNTER | I, Q, M, T, C, D, L | Адрес указывает бит, сигнальное состояние которого опрашивается. |
Нормально замкнутый контакт
По сути дела Нормально замкнутый контакт является инверсией команды Нормально открытый контакт. То есть если сигнал на указанном адресе равен 0 то контакт замкнут и дает 1. Если сигнал на указанном адресе равен 1 то контакт разомкнут и не пропускает ток , те на выходе 0.
Используя Нормально замкнутый контакт параллельно вы получите логическую функцию И.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<адрес> —|/|— |
<адрес> | BOOL, TIMER, COUNTER | I, Q, M, T, C, D, L | Адрес указывает бит, сигнальное состояние которого опрашивается. |
Выходная катушка
Команда Выходная катушка работает подобно катушке в релейно-контактной схеме. Катушка в конце цепи пропускает или не пропускает ток в зависимости от следующих критериев:
- Если ток может протекать через цепь вплоть до катушки (т.е. состояние сигнала цепи равно 1), то катушка пропускает ток.
- Если ток не может протекать по всей цепи вплоть до катушки (т.е. состояние сигнала цепи равно 0), то катушка не пропускает ток.
Цепь логических операций представляет цепь тока. Команда Выходная катушка присваивает состояние сигнала логической цепи LAD катушке, к которой адресуется команда (это то же самое, что и присвоение состояния сигнала бита RLO операнду). Если ток течет через цепь, то состояние сигнала логической цепи равно 1; в противном случае состояние сигнала равно 0.
Выходную катушку можно поместить только на правом конце логической цепи. Возможно использование нескольких Выходных катушек. Выходную катушку нельзя помещать одну в пустой сегмент. Катушка должна иметь предшествующее соединение. Также можно инвертировать выход, с помощью команды инвертировать выход.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
<адрес> | BOOL | I, Q, M, D, L | Адрес указывает бит, сигнальное состояние которого опрашивается. |
Промежуточный выход (коннектор)
Промежуточный выход (коннектор) – это промежуточный присваивающий элемент, который запоминает битовую логическую комбинацию последней открытой ветви перед этим элементом. При последовательном соединении с другими контактами Промежуточный выход (коннектор) действует как обычный контакт.
Коннектор не может размещаться в конце сегмента или в конце открытой ветви.
Также можно инвертировать выход.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
<адрес> | BOOL | I, Q, M, D, L | Адрес указывает бит, которому присваивается RLO. |
Для команды Промежуточный выход (коннектор) можно использовать только адрес из области памяти L, только если вы описываете его в VAR_TEMP. С этой командой вы не можете использовать область памяти L для абсолютной адресации.
Инвертирование результата логической операции
Команда Инвертировать результат логической операции (Инверсия) выполняет отрицание RLO.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
—| NOT |— | нет | - | - | - |
Сохранение RLO в регистре BR
Данная команда сохраняет RLO в бите BR слова состояния. Бит первичного опроса FC не сбрасывается.
По этой причине состояние бита BR включается в логическую операцию И в следующем сегменте.
Мы не рекомендуем вам использовать SAVE, а затем опрашивать бит BR в том же блоке или в починенных блоках, так как бит BR может быть изменен многими командами в промежутке между этими событиями. Целесообразно использовать команду SAVE перед выходом из блока, так как выход ENO (=бит BR) тогда устанавливается на значение бита RLO, и вы можете после этого контролировать ошибки в блоке.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
нет | - | - | - |
Установка выхода
Установка выхода выполняется только тогда, когда RLO = 1. Если RLO = 1, эта команда устанавливает указанный адрес в 1. Если RLO = 0, команда не оказывает влияния на указанный адрес. Адрес остается неизменным.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
—(S) | < адрес > | BOOL | I, Q, M, D, L | Адрес указывает бит, который должен быть установлен. |
Сброс выхода
Сброс выхода выполняется только тогда, когда RLO = 1. Если RLO = 1, эта команда сбрасывает указанный адрес в 0. Если RLO = 0, команда не оказывает влияния на указанный адрес и он остается неизменным.
Команда Сброс выхода испытывает воздействие со стороны Главного управляющего реле (Master Control Relay, MCR).
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<Адрес> —(R) |
< адрес > | BOOL, TIMER, COUNTER | I, Q, M, T, C, D, L | Адрес указывает бит, который должен быть сброшен. |
Установка начального значения счетчика
Вы можете использовать команду Установить начальное значение счетчика (SC), чтобы поместить предварительно заданное значение в указанный вами счетчик. Команда выполняется только при положительном фронте RLO (т.е. в RLO имеет место переход из 0 в 1).
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
![]() |
номер счетчика | COUNTER | С | Адрес указывает номер счетчика, в котором должно быть установлено начальное значение. |
Предуста- новленное значение |
- | I, Q, M, D, L | Начальное значение может быть в диапазоне от 0 до 999. Значению должно предшествовать C#, указывающее на двоично- десятичный формат (BCD), например, C#100. |
Катушка со счетчиком прямого счета
Катушка со счетчиком прямого счета (CU) увеличивает значение указанного счетчика на единицу, если RLO имеет положительный фронт (т.е. в RLO имеет место переход с 0 на 1) и значение счетчика меньше 999. Если положительный фронт RLO отсутствует или счетчик уже достиг 999, то значение счетчика не изменяется.
Также можно установить начальное значение счетчика при помощи командыУстановка начального значения счетчика
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<Адрес> —(CU) |
номер счетчика | COUNTER | C | Адрес указывает номер счетчика, содержимое которого нужно увеличить. |
Катушка со счетчиком обратного счета
Катушка со счетчиком обратного счета (CD) уменьшает значение указанного счетчика на единицу, если RLO имеет положительный фронт (т.е. в RLO имеет место переход с 0 на 1) и значение счетчика больше 0. Если положительный фронт RLO отсутствует или счетчик уже в 0, то значение счетчика не изменяется.
Также можно установить начальное значение счетчика при помощи командыУстановка начального значения счетчика
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<Адрес> —(CD) |
номер счетчика | COUNTER | C | Адрес указывает номер счетчика, содержимое которого нужно уменьшить. |
Катушка с таймером – формирователем импульса
Катушка с таймером – формирователем импульса (SP) запускает указанный таймер с заданным значением времени, если RLO имеет положительный фронт. Таймер продолжает работать с заданным временем, пока значение RLO положительно. Опрос состояния сигнала таймера на 1 дает результат, равный 1, пока таймер работает. Если RLO меняется с 1 на 0 до истечения заданного времени, то таймер останавливается. В этом случае опрос состояния сигнала на 1 дает результат, равный 0.
Единицами времени являются d (дни), h (часы), m (минуты), s (секунды) и ms (миллисекунды). За информацией о размещении таймера в памяти и его компонентах обратитесь к разделу 4.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<Адрес> —(SP) <Значение времени> |
номер таймера | TIMER | T | Адрес указывает номер таймера, который должен быть запущен. |
Значение времени |
S5TIME | I, Q, M, D, L | Значение времени (в формате S5TIME) |
Катушка с таймером – формирователем удлиненного импульса
Катушка с таймером – формирователем удлиненного импульса (SE) запускает указанный таймер с заданным значением времени, если RLO имеет положительный фронт. Таймер продолжает работать с заданным временем, даже если RLO становится равным 0 до истечения этого времени. Опрос состояния сигнала таймера на 1 дает результат, равный 1, пока таймер работает. Если RLO изменяется с 0 на 1 во время работы таймера, то таймер перезапускается с заданным временем.
За информацией о размещении таймера в памяти и его компонентах обратитесь к разделу 4
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<Адрес> —(SE) <Значение времени> |
номер таймера | TIMER | T | Адрес указывает номер таймера, который должен быть запущен. |
Значение времени |
S5TIME | I, Q, M, D, L | Значение времени (в формате S5TIME) |
Катушка с таймером – формирователем задержки включения
Катушка с таймером – формирователем задержки включения (SD) запускает указанный таймер, если RLO имеет положительный фронт (т.е. в RLO имеет место переход с 0 на 1). Опрос состояния таймера на 1 дает результат, равный 1, когда указанное время истекло без ошибок, а RLO еще равен 1. Когда RLO изменяет свое значение с 1 на 0 во время работы таймера, таймер останавливается.
Элемент 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
Операция Обнаружение положительного фронта RLO распознает изменение во введенном адресе с 0 на 1 (нарастающий фронт) и отображает это после выполнения операции как RLO = 1. Текущее состояние сигнала в RLO сравнивается с состоянием сигнала адреса, бита памяти фронта. Если состояние сигнала адреса равно 0, а RLO перед операцией был равен 1, то RLO после операции будет равен 1 (импульс), и 0 во всех остальных случаях. Значение RLO перед операцией хранится в адресе.
Элемент LAD
|
Параметр
|
Тип
данных |
Область памяти
|
Описание
|
<Адрес> —(P)— |
<Адрес> | BOOL | Q, M, D | Адрес указывает на бит памяти фронта, который хранит предыдущее значение RLO. |
Обнаружение отрицательного фронта 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 | Состояние сигнала <адрес> |
<--Предыдущая статья | Следующая статья--> |