- •Содержание
- •5. Элементы языка программирования 66
- •6. Библиотека стандартных функциональных блоков 77
- •Введение
- •Общие сведения
- •Программистская модель плк с300
- •Внешний вид контроллера
- •Модули ввода/вывода
- •Распределение памяти контроллера
- •Программистская модель контроллера.
- •Регистры и флаги
- •Области операндов контроллера
- •Отображение входов и выходов
- •Область данных
- •Область меток
- •Область таймеров
- •Область счётчиков
- •Область периферии
- •Область расширенной периферии
- •Структура и обработка технологических программ
- •Система команд лмк
- •Логические команды
- •Команды присвоения битных операндов
- •Команды опроса битных переменных
- •Команды переходов
- •Команды пересылки
- •Арифметические команды
- •Команды сравнения
- •Логические байтовые и словные команды
- •Байтовые и словные команды сдвига
- •Индексная адресация.
- •Счетчики
- •Команды обработки счётчиков
- •Последовательность программирования счётчика
- •Примеры программирования счётчика
- •U е 5.0 ;Если сработал фотоэлемент на входе e5.0
- •Формат слова уставки счётчика
- •Таймеры
- •Команды обработки таймеров
- •Последовательность программирования таймера
- •Примеры программирования таймера
- •Формат слова уставки таймера
- •Организационные команды
- •Команды вызова, активизации и завершения блоков
- •Команды блокировки, деблокировки, задания допустимой длительности скана
- •Команды структурирования текста
- •Команды обработки канала связи
- •Элементы языка программирования
- •Организационные блоки
- •Особенности прерывания циклической обработки блоками ob2...Ob18
- •Программные блоки
- •Функциональные блоки
- •Формат функциональных блоков
- •Особенности использования формальных параметров
- •Блоки данных
- •Формат и использование блока назначений nb0
- •Комментарии к программе
- •Комментарий к строке
- •Комментарий к операнду
- •Комментарий к элементу цепи ркс и к цепи ркс
- •Библиотека стандартных функциональных блоков
- •Блоки организации связи по каналу “эвм”
- •Блоки обработки системы реального времени
- •Арифметические блоки
- •Блоки обработки модулей расширенной периферии
- •Системные блоки
- •Блоки регулирования
Последовательность программирования счётчика
Для того, чтобы сброс счётчика не зависел от логических результатов на других входах счётчика, необходимо соблюдать следующую последовательность программирования счётчиков.
U
Установка
счетчика (загрузка)
LW KZ 25 ;загрузить в RW1 уставку счётчика, равную 25
SZ 63 ;Установить счётчик Z63, используя уставку из RW1
U
Обратный
счет
ZR Z 63 ;запустить обратный счет Z63
U
Прямой
счет
ZV Z 63 ;запустить прямой счет Z63
U
Сброс
счетчика
R Z 63 ;сбросить счётчик Z63
L
Опрос
цифрового выхода
TW DW 12 ;Выгрузка RW1 DW12
U
Опрос
логического выхода
= A 63.7 ;отобразить его на выходе A63.7
Логический выход счётчика равен 0 при величине текущего значения счётчика, равной 0. В остальных случаях выход находится в состоянии логической 1.
Примеры программирования счётчика
ПРИМЕР 1:
U A 3.2
ZR Z 63
U E 4.1
ZV Z 63
U E 10.6
LW KZ 503
S Z 63
U M 1.3
R Z 63
LW Z 63
TW DW 12
U Z 63
= M 7.7
Каждый раз при переходе логического состояния входа Е 10.6 из 0 в 1 в регистр RW1 в формате уставки счётчиков загружается десятичное число 503. Последующей командой S Z 63 устанавливается в состояние логической 1 логический выход счётчика, из RW1 загружается числовое значение счётчика Z 63, равное 503. Переход состояния входа E 4.1 из 0 в 1 увеличивает содержимое счётчика на 1, а переход выхода A 3.2 из 0 в 1 уменьшает содержимое счётчика на 1. Установка метки М 1.3 в 1 обнуляет содержимое счётчика Z 63, устанавливает его логический выход в состояние логического 0. Логическое состояние выхода счётчика Z 63 присвоено метке М 7.7. Логический выход счётчика устанавливается в 0 при уменьшении содержимого счётчика до 0. Текущее значение счётчика не может быть меньше 0 и больше 4096. Команду LW KZ 503 можно заменить любой командой типа; LW EW; LW AW; LW MW; LW DW. При этом необходимо соблюдать формат уставки счётчиков.
ПРИМЕР 2:
Нужно подсчитать количество изделий, выпускаемых в смену (количество изделий не может превысить 4095). На пути движения изделий ставится фотоэлемент, который выдает сигнал “1”, если луч света прерван изделием. Нажатием кнопки можно сбросить счётчик в начале смены. С помощью цифрового индикатора можно показать количество выпущенных изделий. Состояние счётчика должно увеличиваться на 1, при смене сигнала на фотоэлементе с 0 на 1.
РЕШЕНИЕ:
Список присвоений:
Е 5.0 - фотоэлемент;
AW 32 - индикация состояния счётчика;
Е 5.1 - кнопка сброса счётчика;
Z 2 - счётчик.
U е 5.0 ;Если сработал фотоэлемент на входе e5.0
ZV Z 2 ;прямой счет; при первом срабатывании - счет с 0
U E 5.1 ;При нажатии кнопки на входе E5.1 -
R Z 2 ;сброс (обнуление) счётчика
LW Z 2 ;Загрузить в RW1 состояние счётчика Z2
TW AW 32 ;Выгрузка из RW1 в AW32 - индикация числовой величины
Формат слова уставки счётчика
Таймеры
Команды обработки таймеров
Эти команды оказывают воздействие на логические входы таймеров. Значение LA подается на соответствующий вход таймера, сравнивается с предыдущим значением этого входа и по результату сравнения выполняется обработка таймера.
Таймеры имеют два выхода: цифровой и логический, Логический выход таймеров можно обрабатывать командами O T, ON T, U Т, UN Т так же, как входы, выходы и метки. Состояние логического выхода показано на приведенных ниже временных диаграммах для всех типов таймеров. Числовое значение (уставка) загружается из аккумулятора RW1 по фронту логического сигнала на входе запуска, и обнуляется при подаче логической 1 на вход сброса. Текущее цифровое значение таймеров можно считывать в регистр RW1 для дальнейшей обработки.
1) SI- запуск таймера по временной диаграмме “короткий импульс”.
Формат команды:
SI Тх - пуск таймера по временной диаграмме “короткий импульс”;
SI =fo - пуск формального параметра по временной диаграмме “короткий импульс”.
где x - номер таймера; fo - формальный параметр (Tx).
Запускается таймер с номером х по временной диаграмме “короткий импульс”. Работа таймера показана на временных диаграммах (рис. 10 и 11).
Рис. 10. Временная диаграмма работы таймера SI по диаграмме “короткий импульс” без сигнала сброса; t - уставка времени.
Запуск таймера происходит при смене логического сигнала на входе запуска времени с 0 на 1. При этом цифровой выход устанавливается равным значению уставки из RW1. Отсчет времени заканчивается с истечением запрограммированного периода или при появлении логического 0 на входе запуска. До тех пор, пока длится отсчет запрограммированного времени, логический выход таймера равен 1.
Сброс таймера происходит, если на входе сброса логическая 1. При смене логического сигнала на входе сброса с 1 на 0, тогда как на входе запуска 1, таймер не запускается. Если при сигнале сброса, равном 1, логический сигнал на входе запуска сменится с 0 на 1, таймер, хотя и будет запущен, но при обработке входа сброса окажется немедленно сброшенным (на диаграмме это обозначено вертикальным импульсом). Команда не меняет аккумуляторы и флаги.
Рис. 11. Временная диаграмма работы таймера SI по диаграмме “короткий импульс” при наличии сигнала сброса; t - уставка времени.
ПРИМЕР:
U Е 1.0 ;Сигнал на входе запуска
LW КТ 10.2 ;Загрузка уставки (10 с)
SI Т 3 ;Запуск таймера
U Е 1.2 ;Сигнал на входе сброса
R Т 3 ;Сброс таймера
U Т 3 ;Опрос логического выхода таймера
= A 7.0 ;(время отсчитывается?)
Формат индексной команды SI:
BDWx(MWx)
+SI Тх
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер таймера.
При выполнении команды изменяются флаги ZF, CF, SF, PF, OF.
Во всех рассмотренных выше случаях применения команда SI “заканчивает опрос”.
2) SV- запуск таймера по временной диаграмме “удлиненный импульс”.
Формат команды:
SV Тх - пуск таймера по временной диаграмме “удлиненный импульс”;
SV =fo - пуск формального параметра по временной диаграмме “удлиненный импульс”.
где x - номер таймера; fo - формальный параметр (Tx).
Запускается таймер с номером х по временной диаграмме “удлиненный импульс”. Работа таймера показана на временных диаграммах (рис. 12 и 13).
Рис. 12. Временная диаграмма работы таймера SV по диаграмме “удлиненный импульс” без сигнала сброса; t - уставка времени.
Запуск таймера происходит при смене логического сигнала на входе запуска с 0 на 1. При этом цифровой выход устанавливается равным значению уставки из RW1. Отсчет времени заканчивается с истечением запрограммированного периода независимо от последующего значения логического сигнала на входе запуска. Если изменение сигнала с 0 на 1 произошло до истечения заданного времени, таймер запускается вновь с запрограммированным значением. До тех пор, пока длится отсчет запрограммированного времени, логический выход равен 1.
Сброс таймера происходит, если на входе сброса логическая 1. При смене логического сигнала на входе сброса с 1 на 0, тогда как на входе запуска 1, таймер не запускается. Если при сигнале сброса, равном 1, логический сигнал на входе запуска сменится с 0 на 1, таймер, хотя и будет запущен, но при обработке входа сброса окажется немедленно сброшенным (на диаграмме это обозначено вертикальным импульсом). Команда не меняет аккумуляторы и флаги.
Рис. 13. Временная диаграмма работы таймера SV по диаграмме “удлиненный импульс” при наличии сигнала сброса; t - уставка времени.
ПРИМЕР:
U E 5.0 ;Сигнал на входе запуска
LW КТ 5.2 ;Загрузка уставки (5 с.)
SV T 1 ;Запуск таймера
U E 5.1 ;Сигнал на входе сброса
R Т 1 ;Сброс таймера
U Т 1 ;Опрос логического выхода таймера
= A 5.3 ; (время отсчитывается?)
Формат индексной команды SV:
BDWx(MWx)
+SV Тх
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер таймера.
При выполнении команды изменяются флаги ZF, CF, SF, PF, OF.
Во всех рассмотренных выше случаях применения команда SV “заканчивает опрос”.
3) SE- запуск таймера по временной диаграмме “задержка включения”.
Формат команды:
SE Тх - пуск таймера по временной диаграмме “задержка включения”;
SE =fo - пуск формального параметра по временной диаграмме “задержка включения”.
где x - номер таймера; fo - формальный параметр (Tx).
Запускается таймер с номером х по временной диаграмме “задержка включения”. Работа таймера показана на временных диаграммах на рис. 14 и 15.
Запуск таймера происходит при смене логического сигнала на входе запуска времени с 0 на 1. При этом цифровой выход устанавливается равным значению уставки из RW1. Отсчет времени заканчивается с истечением запрограммированного периода или при появлении логического результата 0 на входе запуска. Логический выход таймера равен 1 с того момента, как истек заданный интервал времени и на входе запуска сохраняется сигнал “1”.
Сброс таймера происходит, если на входе сброса логическая 1. При смене логического сигнала на входе сброса с 1 на 0, тогда как на входе запуска 1, таймер не запускается. Если при сигнале сброса, равном 1, логический сигнал на входе запуска сменится с 0 на 1, таймер, хотя будет запущен, но при обработке входа сброса окажется немедленно сброшенным (на диаграмме это обозначено вертикальным импульсом). Команда не меняет аккумуляторы и флаги.
Рис. 14. Временная диаграмма работы таймера SE по диаграмме “задержка включения” без сигнала сброса; t - уставка времени.
Рис. 15. Временная диаграмма работы таймера SE по диаграмме “задержка включения” при наличии сигнала сброса; t - уставка времени.
ПРИМЕР:
U Е 2.0 ;Сигнал на входе запуска
LW КТ 6.2 ;Загрузка уставки (6 с.)
SE Т 4 ;Запуск таймера
U Е 3.0 ;Сигнал на входе сброса
R Т 4 ;Сброс таймера
U Т 4 ;Опрос логического выхода таймера
= A 3.1 ; (время отсчитывается?)
Формат индексной команды SE:
BDWx(MWx)
+SE Тх,
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер таймера.
При выполнении команды изменяются флаги ZF, CF, SF, PF, OF.
Во всех рассмотренных выше случаях применения команда SE “заканчивает опрос”.
4) SS- запуск таймера по временной диаграмме “сохраняемая задержка включения”.
Формат команды:
SS Тх - пуск таймера по временной диаграмме “сохраняемая задержка включения”;
SS =fo - пуск формального параметра по временной диаграмме “сохраняемая задержка включения”.
где x - номер таймера; fo - формальный параметр (Tx).
Запускается таймер с номером х по временной диаграмме “сохраняемая задержка включения”. Работа таймера показана на рис. 16 и 17.
Запуск таймера происходит при смене логического сигнала на входе запуска времени с 0 на 1. При этом цифровой выход устанавливается равным значению уставки из RW1. Отсчет времени заканчивается с истечением запрограммированного периода независимо от последующего значения логического сигнала на входе запуска. Логический выход таймера равен 1 с того момента, как истек заданный интервал времени.
Рис. 16. Временная диаграмма работы таймера SS по диаграмме “сохраняемая задержка включения”; t - уставка времени.
Рис. 17. Временная диаграмма работы таймера SS по диаграмме “сохраняемая задержка включения” при наличии сигнала сброса; t - уставка времени.
Сброс таймера происходит, если на входе сброса логическая 1. При смене логического сигнала на входе сброса с 1 на 0, тогда как на входе запуска 1, таймер не запускается. Если при сигнале сброса, равном 1, логический сигнал на входе запуска сменится с 0 на 1, таймер, хотя будет запущен, но при обработке входа сброса окажется немедленно сброшенным (на диаграмме это обозначено вертикальным импульсом). Команда не меняет аккумуляторы и флаги.
ПРИМЕР:
U Е 3.0 ;сигнал на входе запуска
LW КТ 8.2 ;загрузка уставки (8 с)
SS T 5 ;запуск таймера
U Е 3.1 ;сигнал на входе сброса
R Т 6 ;сброс таймера
U Т 5 ;опрос логического выхода таймера
= A 3.2 ;(время истекло?)
Формат индексной команды SS:
BDWx(MWx)
+SS Тх
здесь: DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер таймера.
При выполнении команды изменяются флаги ZF, CF, SF, PF, OF.
Во всех рассмотренных выше случаях применения команда SS “заканчивает опрос”.
5) SA- запуск таймера по временной диаграмме “задержка выключения”.
Формат команды:
SA Тх - пуск таймера по временной диаграмме “задержка выключения”;
SA =fo - пуск формального параметра по временной диаграмме “задержка выключения”.
где x - номер таймера; fo - формальный параметр (Tx).
Запускается таймер с номером х по временной диаграмме “задержка выключения”. Работа таймера показана на временных диаграммах (рис. 18 и 19).
Рис. 18. Временная диаграмма работы таймера SA по диаграмме “задержка выключения” без сигнала сброса; t - уставка времени.
Рис. 19. Временная диаграмма работы таймера SA по диаграмме “задержка выключения” при наличии сигнала сброса; t - уставка времени.
Запуск таймера происходит при смене логического сигнала на входе запуска времени с 1 на 0. При этом цифровой выход устанавливается равным значению уставки из RW1. Отсчет времени заканчивается с истечением запрограммированного периода или появлении логического результата 1 на входе запуска. Логический выход таймера равен 1, если на входе запуска сигнал 1 или если время еще не истекло.
Сигнал сброса влияет только на отсчет таймером заданного времени: если на входе сброса логическая 1, то отсчет прекращается и цифровое значение таймера сбрасывается в 0. Если при сигнале сброса, равном 1, логический сигнал на входе запуска сменится с 1 на 0, таймер, хотя и будет запущен, но при обработке входа сброса будет остановлен (на диаграмме это обозначено вертикальным импульсом). Команда не меняет аккумуляторы и флаги.
ПРИМЕР:
U Е 4.0 ;сигнал на входе запуска
LW КТ 10.2 ;загрузка уставки (10 с)
A Т 4 ;запуск таймера
U Е 4.1 ;сигнал на входе сброса
R T 4 ;сброс таймера
U Т 4 ;опрос логического выхода таймера
= A 4.0 ;(время истекло?)
Формат индексной команды SA:
BDWx(MWx)
+SA Тх.
где DWx(MWx) - номер слова данных или меток, содержащего индекс; х - номер таймера.
При выполнении команды изменяются флаги ZF, CF, SF, PF, OF.
Во всех рассмотренных выше случаях применения команда SA “заканчивает опрос”.
6) R- сброс таймера.
Формат команды:
R Тх - сброс таймера;
R =fo - сброс формального параметра;
где х - номер таймера; fo - формальный параметр (Tx).
Сбрасывается таймер с номером х. Если логический аккумулятор равен 1, отсчет времени прекращается, цифровой выход сбрасывается в 0, логический выход (кроме таймера SA) сбрасывается в 0. Если сброс таймера должен действовать независимо от сигнала на входе запуска таймера, необходимо команду сброса таймера программировать после команды запуска таймера, до опроса состояния логического выхода. Команда не меняет аккумуляторы и флаги.
Формат индексной команды R:
BDWx(MWx)
+R Тх
где DWx(MWx) - номер слова данных или меток, содержащего индекс: х - номер таймера.
При выполнении команды изменяются флаги ZF, CF, SF, PF, OF.
Во всех рассмотренных выше случаях применения команда R “заканчивает опрос”.