Similar presentations:
Основные принципы применения языка LAD. Таймеры и счетчики (на примере пакета CoDeSys)
1. Програмне забезпечення мікропроцесорних систем
Національний технічний університет«Харківський Політехнічній Інститут»
Факультет Інтегрованих технологій і хімічної техніки
Програмне забезпечення
мікропроцесорних систем
Лекция 6
Основные принципы применения языка
LAD. Таймеры и счетчики
(на примере пакета CoDeSys)
Лысаченко И.Г.
20121
2. Вопросы лекции
Бинарная логика (на примере LAD)Библиотеки в CoDeSys (Standard)
Таймеры
Счетчики
2
3. Редактор LАD
графический язык реализует структуры эл.цепей
подходит для построения логических
переключателей
легко можно создавать сложные цепи управления
LD удобен для управления POU
программа представлена в виде списка цепей
каждая цепь состоит из двух частей
в левой находится условие ЛО (контакты)
в правой - структура, состоящая из логических или
арифметических операций, вызовов программ, функций
или ФБ, инструкций перехода или возврата (обмотки)
3
4. Бинарная логика…
Язык LАD (ladder diagram)релейная схема – две верт. шины,
соединенные с помощью контактов и
обмоток
компоновка контактов в
последовательные и параллельные схемы
определяет комбинирование бинарных
сигнальных состояний датчиков
4
5. Бинарная логика…
Логическая переменная типа «Контакт»проверяет сигнальное состояние
двоичных операндов
входные и выходные биты
память меркеров
таймеры и счетчики
биты глобальных данных
биты временных локальных данных
биты слова состояния (оценка результатов
вычислений)
5
6. Принцип работы РКС
67. Бинарная логика…
NO-контакт соответствует сканированию сожиданием сигнального состояния «1»
NC-контакт проверяет вход на наличие
сигнального состояния «0»
7
8. Бинарная логика…
в последовательныхсхемах ток течет,
если все контакты
замкнуты
в параллельных
схемах ток течет,
если хотя бы один из
контактов замкнут
8
9. Бинарная логика…
Функция Exclusive OR комбинирует друг с другом двабинарных состояния
возвращает RLO «1», когда два состояния (результаты
сканирования) не являются одинаковыми
возвращает RLO «0», если два состояния (результаты
сканирования) идентичны
9
10. Выходной элемент
—( ) –выходная катушка, которая является
терминатором (завершающим элементом)
цепи и присваивает (assigns) RLO (результат
логической операции) напрямую операнду
10
11. Функции для работы с памятью…
одиночная катушка (coil) какприсваивание RLO
катушки R и S как индивидуально
программируемые операции с памятью
блочные элементы (boxes) RS и SR как
функции, работающие с памятью
коннекторы (midline outputs) как
промежуточные буферы
элементы оценки (обнаружения)
фронта импульса электрического тока
11
12. Функции для работы с памятью…
Одиночная катушкатерминатор цепи
направляет (assigns)
электрический ток
напрямую к операнду, расположенному при катушке
параллельно можно составить до 16 катушек
Катушки установки и сброса (set coil, reset coil)
становятся активными, только когда через них
протекает ток
12
13. Функции для работы с памятью…
Блочный элементпамяти (триггер)
объединяет функции
катушек установки и
сброса в блочном
элементе функции для
работы с общим
операндом
RS (приоритет сброса)
SR (приоритет
установки)
13
14. Функции для работы с памятью…
Переключатель сдоминантой
включения:
Q1 = SR (SET1,
RESET)
означает:
Q1 = (NOT RESET
AND Q1) OR SET1
Переключатель с
доминантой
выключения:
Q1 = RS (SET,
RESET1)
означает:
Q1 = NOT RESET1
AND (Q1 OR SET)
14
15. Функции оценки фронта импульса
функция оценки фронта (edge evaluation)обнаруживает изменение сигнального состояния,
фронт сигнала
фронт является положительным, если сигнал
меняется с «0» на «1»
• ФБ R_TRIG, который служит для выделения переднего
фронта импульса (FALSE -> TRUE) сигнала
фронт является отрицательным, если сигнал
меняется с «1» на «0»
• ФБ F_TRIG, который служит для выделения заднего
фронта импульса (TRUE -> FALSE) сигнала
реализует импульсный контактный элемент
CPU сравнивает текущий RLO с сохраненным RLO
15
16. Детекторы фронтов
1• R_TRIG
определяет
передний фронт
Входной сигнал
0
1
t
Выходной сигнал
0
1
• F_TRIG
определяет задний
фронт
Входной сигнал
0
1
t
Выходной сигнал
0
17. Таймеры…
позволяют программно реализоватьпоследовательности синхронизации, такие
как интервалы ожидания и наблюдения,
измерение интервалов или генерирование
импульсов
имеют область, зарезервированную для них в
памяти CPU
область памяти резервирует одно 16-битное слово для
каждого таймерного адреса
виды таймеров
ФБ TP - импульсный таймер (pulse timer)
ФБ TON - таймер задержки включения (on-delay timer)
ФБ TOF - таймер задержки выключения (off-delay timer)
17
18. Программирование таймеров…
операции над таймеромзапуск таймера с заданием значения времени
обнуление (сброс) таймера
проверка состояния таймера (bool)
чтение значения таймера в цифровом виде
18
19. Часы реального времени RTC
Функциональный блок RTC рассчитываеттекущее время и дату, начиная от заданной
точки PDT
•при этом ПЛК должен работать постоянно
19
20. Таймер TP
Генерирует импульс заданной длительности21. Таймер TON
Включает выход с задержкой по переднему фронту22. Таймер TOF
Выключает выход с задержкой по заднему фронту23. Опрос таймера…
Проверка состояния таймерасостояние таймера можно получить на
выходе Q блочного элемента таймера
состояние таймера можно с помощью NOконтакта (соответствует выходу Q) или с
помощью NC-контакта (инверсия)
результаты считывания с помощью NO-контакта
или выхода Q различаются в зависимости от типа
таймера
23
24. Последовательность операций с таймерами
Таймер будет работать правильно, еслисоблюдать следующий порядок
Запуск таймера (Start)
Сброс таймера (Reset)
Считывание значения времени или
длительности
Проверка состояния таймера
24
25. Счетчики (counters) …
используют в вычислительных задачах для счетапо возрастанию (прямой счет)
по убыванию (обратный счет)
по возрастанию и убыванию
Счетчики располагаются в системной памяти CPU
Количество счетчиков определяется версией CPU
счетчик сканируется путем считывания его состояния
(нулевое или ненулевое значение счета) или текущего
значения счетчика (значения счета, count value), которое
можно получить десятичном коде
25
26. Счетчики
• CTUИнкрементируется по переднему
фронту
• CTD
Декрементируется по переднему
фронту
• CTUD
Инкрементируется или
декрементируется по разным входам
27. Программирование счетчика…
Со счетчиками производятся следующие операцииустановка счетчика, задание значения счетчика
прямой счет
обратный счет
сброс счетчика
считывание числового значения счетчика
27
28. Последовательность операций со счетчиками…
Счетчик будет работать правильно, еслисоблюдать следующий порядок
Счет (прямой или обратный в любом
порядке)
Установка счетчика
Сброс счетчика
Проверка счета
Проверка состояния счетчика
28
29. Опрос счетчика…
Проверка состояния счетчика (LAD)Состояние счетчика подается на выход Q
блочного элемента счетчика
состояние счетчика также можно проверить с
использованием NO-контакта (соответствует
выходу Q) или NC-контакта (инверсия)
выход Q содержит «1» , если текущее значение
счета больше нуля
выход Q содержит «0», если текущее значение
счета равно нулю
Выход Q в блочном элементе счетчика
может быть не подключен
29
30. CTU CTD
CTUпо каждому фронту на
входе CU (переход из
FALSE в TRUE) выход CV
увеличивается на 1
выход Q устанавливается
в TRUE, когда счетчик
достигнет значения
заданного PV
счетчик CV сбрасывается
в 0 по входу RESET =
TRUE
CTD
по каждому фронту на
входе CD (переход из
FALSE в TRUE) выход CV
уменьшается на 1
когда счетчик достигнет 0,
счет останавливается,
выход Q переключается в
TRUE
счетчик CV загружается
начальным значением,
равным PV по
входу LOAD = TRUE.
30
31. CTUD ТР
CTUDпо фронту на входе CU
счетчик увеличивается на 1
по фронту на входе CD
счетчик уменьшается на 1
(до 0)
QU устанавливается в TRUE,
когда CV больше или равен
PV
QD устанавливается в TRUE,
когда CV равен 0
ТР
пока IN равен FALSE, выход
Q = FALSE, выход ET = 0
при переходе IN в TRUE
выход Q устанавливается в
TRUE и таймер начинает
отсчет времени (в мс) на
выходе ET до достижения
длительности, заданной PT
далее счетчик не
увеличивается
Таким образом, выход Q
генерирует импульс
длительностью PT по фронту
входа IN
31
32. TON TOF
TONпока IN равен FALSE, выход Q
= FALSE, выход ET = 0
как только IN становится
TRUE, начинается отсчет
времени (в мс) на выходе ET
до значения, равного PT
далее счетчик не
увеличивается
Q равен TRUE, когда IN равен
TRUE и ET равен PT, иначе
FALSE
Таким образом, выход Q
устанавливается с задержкой
PT от фронта входа IN
TOF
если IN равен TRUE, то выход
Q = TRUE и выход ET = 0
как только IN переходит в
FALSE, начинается отсчет
времени (в мс) на выходе ET
при достижении заданной
длительности отсчет
останавливается
выход Q равен FALSE, если IN
равен FALSE и ET равен PT,
иначе - TRUE
Таким образом, выход Q
сбрасывается с задержкой PT
от спада входа IN
32