- •1. Общие сведения о программировании программируемых логических контроллерах (плк)
- •1.1 Области памяти и их функции
- •1.2 Непосредственная и прямая адресация
- •1.3 Битовые логические операции
- •1.4 Операции со счетчиками
- •1.5 Таймерные команды
- •1.6 Преобразование форматов данных
- •1.7 Команды сдвига и циклического сдвига
- •1.8 Операции с блоками данных
- •1.9 Команды перехода
- •1.10Метка Литература
1.3 Битовые логические операции
Нормально открытый контакт
Если состояние сигнала по указанному адресу равно 1, то контакт замкнут, и команда дает результат, равный 1. Если состояние сигнала по указанному адресу равно 0, то контакт разомкнут, и команда дает результат, равный 0.
Таблица 1.3.1 Элемент "Нормально открытый контакт (адрес)" и параметр |
|
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
<адрес> -----------I I------------- |
<адрес> |
BOOL TIMER COUNTER |
I, Q, М, Т, С, D, L |
Адрес указывает бит, сигнальное состояние которого опрашивается. |
|
Программирование контактов, соединенных последовательно
Таблица 1.3.2 Таблица истинности: И |
|
|||
Если результат опроса состояния сигнала контакта 11.0 равен |
и результат опроса состояния сигнала контакта 11.1 равен |
то результат логической операции, показанной на рис. 2-3 равен |
|
|
1 (контакт замкнут) |
1 (контакт замкнут) |
1 (ток может протекать) |
|
|
0 (контакт разомкнут) |
1 (контакт замкнут) |
0 (ток не может протекать) |
|
|
1 (контакт замкнут) |
0 (контакт разомкнут) |
0 (ток не может протекать) |
|
|
0 (контакт разомкнут) |
0 (контакт разомкнут) |
0 (ток не может протекать) |
|
Программирование контактов, соединенных параллельно
Таблица 1.3.3 Таблица истинности: ИЛИ |
|
||
Если результат опроса состояния сигнала контакта |
и результат опроса состояния сигнала |
то результат логической операции, показанной на |
|
11.0 равен |
контакта 11.1 равен |
рис. 2-4 равен |
|
1 (контакт замкнут) |
0 (контакт разомкнут) |
1 (ток может протекать) |
|
0 (контакт разомкнут) |
1 (контакт замкнут) |
1 (ток может протекать) |
|
1 (контакт замкнут) |
1 (контакт замкнут) |
1 (ток может протекать) |
|
0 (контакт разомкнут) |
0 (контакт разомкнут) |
0 (ток не может протекать) |
|
Нормально замкнутый контакт
Таблица 1.3.4 Элемент «Нормально замкнутый контакт (адрес) и параметр» |
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
< адрес >
|
< адрес > |
BOOL TIMER COUNTER |
I, Q. м, Т, С, D, L |
Адрес указывает бит, сигнальное состояние которого опрашивается. |
Т ок протекает, если выполняется одно из следующих условий: Равно 1 состояние сигнала на входах 10.0 И10.1
ИЛИ равно 0 состояние сигнала на входе 10. 2
Выходная катушка
Команда Выходная катушка работает подобно катушке в релейно-контактной схеме. Катушка в конце цепи пропускает или не пропускает ток в зависимости
от следующих критериев;
□Если ток может протекать череецепь вплоть до катушки (т.е. состояние-сигнала цепи равно 1), то катушка пропускает ток.
□Если ток не может протекать по всей цепи вплоть до катушки (т.е. состояние сигнала цепи равно 0), то катушка не пропускает ток.
Таблица 1.3.5 Элемент "Выходная катушка" и параметр |
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
<адрес> ( ) |
<адрес> |
BOOL |
I, Q, М, D, L |
Адрес указывает бит, которому присваивается сигнальное состояние логической цепи. |
Промежуточный выход (коннектор)
Описание
Команда Промежуточный выход (коннектор) - это промежуточный присваивающий элемент, сохраняющий RLO. Этот промежуточный присваивающий элемент запоминает битовую логическую комбинацию последней открытой ветви перед этим элементом. При последовательном соединении с другими контактами
Промежуточный выход (коннектор) действует как обычный контакт.
Таблица 1.3.6 Элемент "Промежуточный выход (коннектор)" и параметр |
|
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
<адрес> |
< адрес > |
BOOL |
I, Q, М, D, L |
Адрес указывает бит, которому присваивается RLO |
|
------(#)------- |
|
|
|
|
Инвертирование результата логической операции
Описание
Команда Инвертировать результат логической операции выполняет отрицание RLO.
Таблица 1.3.7 Элемент "Инвертирование результата логической операции" |
|
|||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
|
------------------| NOT |---------------- |
Нет |
- |
- |
- |
|
Выход Q 4.0 равен 1,если выполнено одно из следующих условий:
Состояние сигнала на выходе 10.0 НЕ равно 1
ИЛИ состояние сигнала НЕ равно 1 на входе 10.1 или на входе 10.2 или на обоих
Установка выхода Описание
Команда Установка выхода выполняется только тогда, когда RLO = 1. Если RLO = 1, эта команда устанавливает указанный адрес в 1. Если RLO = 0, команда не оказывает влияния на указанный адрес. Адрес остается неизменным.
Таблица 1.3.8 Элемент "Установка выхода" и параметр |
|
|||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
|
<адрес> ----------( S ) |
<адрес> |
BOOL |
I. Q, М, D, L |
Адрес указывает бит, который должен быть установлен. |
|
Состояние сигнала на выходе Q 4.0 устанавливается в 1, если выполняется одно из следующих условий:
Равно 1 состояние сигнала на входах 10.0 И 10.1 ИЛИ равно 0 состояние сигнала на входе 10.2
Если RLO ветви равно 0, то состояние сигнала на выходе Q 4.0 не меняется
Сброс выхода
Описание
Команда Сброс выхода выполняется только тогда, когда RLO = 1. Если RLO = 1, эта команда сбрасывает указанный адрес в 0. Если RLO = 0, команда не оказывает влияния на указанный адрес. Адрес остается неизменным.
Таблица 1.3.9. Элемент "Сброс выхода" и параметр |
|
|||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
|
<адрес> —(r) |
<адрес> |
BOOL TIMER COUNTER |
1, Q, М» Т, С, D, L |
Адрес указывает бит, который должен быть сброшен. |
|
Состояние сигнала на выходе Q 4.0 устанавливается в 1, если выполняется одно из следующих условий:
Равно 1 состояние сигнала на входах 10.0 И 10.1 ИЛИ равно 0 состояние сигнала на входе 10.2
Е сли RLO ветви равно 0, то состояние сигнала на выходе Q 4.0 не меняется
Загрузить программную среда Simatic manager подготовить программы :
для реализации двухвходовой функции И, двухвходовой функции ИЛИ, для кодового замка, состоящего из пяти кнопок, который срабатывает при одновременном нажатии двух рабочих кнопок и не работает если, добавляется любая не рабочая кнопка.
Проверить отработку этих программ в симуляторе.
Установкасброс триггера
Описание
Команда Установитьсбросить триггер (SRmpuггep) выполняет операции установки (S) и сброса (R) только тогда, когда RLO равен 1. RLO, равный 0, не оказывает влияния на эти операции; адрес, указанный в операции, остается неизменным.
SRтриггер устанавливается, если состояние сигнала равно 1 на входе S и равно 0 на входе R. В противном случае, если состояние сигнала равно 0 на входе S и 1 на входе R, триггер сбрасывается. Если RLO равен 1 на обоих входах, триггер сбрасывается.
Таблица 1.3.10. Блок «Установка-сброс триггера» и параметры
|
||||
Блок КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
< адрес> |
<адрес> |
BOOL |
I, Q, М, D, L |
Адрес указывает бит, который должен быть установлен или сброшен. |
S |
BOOL |
I, Q, М, D, L |
Разрешенная операция установки |
|
R |
BOOL |
I, Q, М, D, L |
Разрешенная операция сброса |
|
Q |
BOOL |
I, Q, М, D, L |
Состояние сигнала <адрес> |
Если состояние сигнала равно 1 на входе 10.0 и 0 на выходе 10.1, то бит памяти М 0.0 устанавливается, и выход Q 4.0 равен 1.
Если состояние сигнала равно 0 на входе 10.0 и 0 на выходе 10.1, то бит памяти М 0.0 сбрасывается, и выход Q 4.0 равен 0.
Е сли оба состояния сигнала равны 0, то ничего не меняется. Если оба состояния сигнала равны 1, то операция Сброс имеет преимущество из-за своего расположения, М 0.0 сбрасывается, и выход Q 4.0 равен 0.
Сброс установка триггера
Описание
Команда Сброситьустановить триггер (RSmpuzzep) выполняет операции установки (S) и сброса (R) только тогда, когда RLO равен 1. RLO, равный 0, не оказывает влияния на эти операции; адрес, указанный в операции, остается неизменным.
RSTpurrep сбрасывается, если состояние сигнала равно 1 на входе R и равно 0 на входе S. В противном случае, если состояние сигнала равно 0 на входе R и 1 на входе S, триггер устанавливается, set. Если RLO равен 1 на обоих входах, триггер устанавливается.
Таблица 1.3.11. Блок «Установка-сброс триггера» и параметры
|
||||
Блок КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
< адрес> |
<адрес> |
BOOL |
I, Q, М, D, L |
Адрес указывает бит, который должен быть установлен или сброшен. |
S |
BOOL |
I, Q, М, D, L |
Разрешенная операция установки |
|
R |
BOOL |
I, Q, М, D, L |
Разрешенная операция сброса |
|
Q |
BOOL |
I, Q, М, D, L |
Состояние сигнала <адрес> |
Если состояние сигнала равно 1 на входе 10.0 и 0 на выходе 10.1, то бит памяти М 0.0 сбрасывается, и выход Q 4.0 равен 0.
Иначе, если состояние сигнала равно 0 на входе 10.0 и 0 на выходе 10.1, то бит памяти М 0.0 устанавливается, и выход Q 4.0 равен 1.
Е сли оба состояния сигнала равны 0, то ничего не меняется. Если оба состояния сигнала равны 1, то операция Установка имеет преимущество из-за своего расположения, М 0.0 устанавливается, и выход Q 4.0 равен 1.
Загрузить программную среда Simatic manager подготовить программу для управления наполнением трёх ёмкостей . На каждой ёмкости установлены датчики верхнего и нижнего уровня. Насосы установлены на каждой емкости. Включается насос при срабатывании нижнего датчика, отключается при срабатывании верхнего датчика В каждый момент времени может наполняться только одна ёмкость. Проверить отработку программы в симуляторе.
Сохранение RLO в регистре BR
Описание
Команда Сохранить RLO в регистре BR сохраняет RLO в бите BR слова состояния.
Таблица 1.3.12 Сохранение RLO а регистре BR |
|
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
—<SAVE> |
Нет |
** |
|
** |
|
Обнаружение положительного фронта RLO Описание
Операция Обнаружение положительного фронта RLO распознает изменение во введенном адресе с 0 на 1 (нарастающий фронт) и отображает это после выполнения операции как RLO = 1. Текущее состояние сигнала в RLO сравнивается с состоянием сигнала адреса, бита памяти фронта. Если
состояние сигнала адреса равно 0, a RLO перед операцией был равен 1, то RLO после операции будет равен 1 (импульс), и 0 во всех остальных случаях. Значение RLO перед операцией хранится в адресе.
Таблица 1.3.13. Элемент Обнаружение положительного фронта RLO" и параметр |
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
< адрес 1> ----------( Р )---------- |
<адрес1> |
BOOL |
Q, М, D |
Адрес указывает на бит памяти фронта, который хранит предыдущее значение RLO. |
Бит памяти фронта М 0.0 сохраняет старое состояние RLO от всей битовой логической комбинации. Если имеет место изменение сигнала в RLO с на 1, то программа переходит на метку CAS 1
Рис. 1
Обнаружение отрицательного фронта RLO
Описание
Операция Обнаружение отрицательного фронта RLO распознает изменение во введенном адресе с 1 на 0 (падающий фронт) и отображает это после выполнения операции как RLO = 1. Текущее состояние сигнала в RLO сравнивается с состоянием сигнала адреса, бита памяти фронта. Если
состояние сигнала адреса равно 1, a RLO перед операцией был равен 0, то RLO после операции будет равен 0 (импульс), и 1 во всех остальных случаях. Значение RLO перед операцией хранится в адресе.
Таблица 1.3.14 Элемент "Обнаружение отрицательного фронта RLO" и параметр |
|
||||
Элемент КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
|
<адрес 1 > ----------(n)---------- |
<адрес1> |
BOOL |
Q, М, D |
Адрес указывает на бит памяти фронта, который хранит предыдущее значение RLO. |
|
Бит памяти фронта М 0.0 сохраняет старое состояние RLO от всей битовой логической комбинации. Если имеет место изменение сигнала в RLO с на 1, то программа переходит на метку CAS 1
Рис.2
Обнаружение положительного фронта сигнала
Описание
Команда Обнаружение положительного фронта сигнала сравнивает состояние сигнала <адрес 1> с результатом опроса состояния сигнала, хранящимся в <адрес 2>. Если имеет место переход с 0 на 1, то выход Q равен 1. В противном случае он равен 0.
Таблица 1.3.15. Блок «Обнаружение положительного фронта сигнала» и параметры |
||||
Блок КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
< адрес 1> < адрес 2>
|
«адрес1> |
BOOL |
I, Q, М, D, L |
Сигнал, подлежащий контролю на появление отрицательного фронта |
|
М_В1Т |
BOOL |
Q. М, D |
Адрес М_В!Т указывает бит памяти фронта, который хранит предыдущее состояние сигнала NEG. Используйте для M_BIT область памяти входов образа процесса (1) только в том случае, если этот адрес уже не занят ни одним из модулей ввода. |
|
Q |
BOOL |
I. Q, М, D, L |
Выход с однократным импульсом |
Выход Q 4.0 равен 1, если выполняются следующие условия:
Равно 1 состояние сигнала на входах 10.0 И10.1 И10.2
И имеется положительный фронт на входе 10.3
И равно 1 состояние сигнала на входе 10.4
Рис.3
Обнаружение отрицательного фронта сигнала
Описание
Команда Обнаружение отрицательного фронта сигнала сравнивает состояние сигнала <адрес 1> с результатом опроса состояния сигнала, хранящимся в <адрес 2>. Если имеет место переход с 1 на 0, то выход Q равен 1. В противном случае он равен 0.
Таблица 1.3.16. Блок "Обнаружение отрицательного фронта сигнала" и параметры |
||||
Блок КОР |
Параметр |
Тип данных |
Область памяти |
Описание |
< адрес 1> < адрес 2>
|
«адрес1> |
BOOL |
I, Q, М, D, L |
Сигнал, подлежащий контролю на появление отрицательного фронта |
|
М_В1Т |
BOOL |
Q. М, D |
Адрес М_В!Т указывает бит памяти фронта, который хранит предыдущее состояние сигнала NEG. Используйте для M_BIT область памяти входов образа процесса (1) только в том случае, если этот адрес уже не занят ни одним из модулей ввода. |
|
Q |
BOOL |
I. Q, М, D, L |
Выход с однократным импульсом |
Выход Q 4.0 равен 1, если выполняются следующие условия:
Равно 1 состояние сигнала на входах 10.0 И10.1 И10.2
И имеется отрицательный фронт на входе 10.3
И равно 1 состояние сигнала на входе 10.4
Рис.4
Загрузить программную среда Simatic manager подготовить программы Рис.1-Рис.4. Проверить отработку этих программ в симуляторе.