Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 3 / ПКиСПУ_Лабораторная_работа_№3_Токарев_0421

.docx
Скачиваний:
0
Добавлен:
26.06.2025
Размер:
396.47 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра РАПС

отчет

по лабораторной работе №3

по дисциплине «Промышленные контроллеры и системы программного управления»

Тема: «Программирование таймеров и счетчиков»

Студент гр. 0421

Токарев А.А.

Преподаватель

Самохвалов Д.В.

Санкт-Петербург

2024

Цель работы: освоить технику применения инструкций управления таймерами и счетчиками ПЛК на языке LAD.

1. Исходные данные

Номер стенда:1.

Серия ПЛК: СJ1M

Номер ЦПУ: CPU11

Таблица ввода-вывода представлена на рисунке 1.

Рисунок 1 – Таблица ввода-вывода

2. Программа включения индикатора с задержкой

Для написания программы будем использовать кнопку start_button, лампочку lamp1 и инструкцию управления таймером TIM со следующими параметрами: 0007 – номер таймера, #50 – задание задержки в формате BCD в десятых долях секунды (5 секунд), T0007 – флаг таймера, который устанавливается в 1 по истечении времени задержки.

В результате выполнения программы, после нажатия кнопки start_button и удержания ее в нажатом состоянии в течении 5 секунд, загорится лампа lamp1.

Если во время отсчета таймера отпустить кнопку, то значение таймера сбрасывается в предустановленное значение, равное #50 и счет начинается сначала. Листинг программы представлен на рисунке 2.

Рисунок 2 – Листинг программы включения лампочки с задержкой в 5 секунд

Тестирование программы с отображением активных цепочек лестничной диаграммы представлено на рисунке 3.

Рисунок 3 – Тестирование программы

3. Программа подсчет количества нажатий кнопки

Для написания программы воспользуемся той же кнопкой, лампочкой и инструкцией управления таймером, что и в программе 1, добавив к ним кнопку sb3, и две инструкции управления таймером. CNT – инструкция счетчика со следующими параметрами: 0006 – номер счетчика, #9999 – значение по умолчанию, -(410) – операция бинарного вычитания с учетом знака без остатка со следующими параметрами: #9999 – уменьшаемое слово, С6 – вычитаемое слово (в нашем случае значение счетчика CNT), D11 – адрес, куда записывается результат вычитания, P_On – флаг Always ON.

В результате выполнения программы, после нажатия кнопки start_button и последующего через 5 секунд зажигания лампочки lamp3, счетчик CNT уменьшит свое значение на 1. Соответственно, результатом вычитания будет +1. Если потом отпустить кнопку start_button и нажать её еще раз, то после очередного зажигания лампочки lamp3, результат вычитания увеличится еще на 1 и будет составлять +2. В случае, если мы захотим сбросить счетчик нажатий, достаточно нажать кнопку sb3, которая установит счетчик CNT в положение по умолчанию (#9999). Листинг программы представлен на рисунке 4.

Рисунок 4 – Листинг программы подсчета количества нажатий кнопки

Тестирование программы с отображением активных цепочек лестничной диаграммы представлено на рисунке 5.

Рисунок 5 – Тестирование программы

4. Программа «бегущий огонь»

Для написания программы воспользуемся кнопками sb3 и sb4, лампочками hl1…hl4 и пятью инструкциями управления таймером TIM со следующими параметрами: 0001…0005 – номер таймера, #10 – задание задержки в формате BCD в десятых долях секунды (1 секунда), T0001…T0005 – флаг таймера, который устанавливается в 1 (либо в 0, если контакт – нормально закрытый) по истечении времени задержки.

В результате выполнения программы, по нажатию кнопки sb4, запускается таймер Т0001 и загорается лампочка hl1. После истечения времени задержки таймера T0001 запускается таймер T0002, загорается лампочка hl2 и отключается лампочка hl1. После истечения времени задержки таймера T0002 запускается таймер T0003, загорается лампочка hl3 и отключается лампочка hl2. После истечения времени задержки таймера T0003 запускается таймер T0004, загорается лампочка hl4 и отключается лампочка hl3. После истечения времени задержки таймера T0004 запускается таймер T0005, загорается лампочка hl1 и отключается лампочка hl4. Далее процесс повторяется. Выключается «бегущий огонь» нажатием кнопки sb3. Листинг программы представлен на рисунке 6.

Рисунок 6 – Листинг программы «Бегущий огонь»

Тестирование программы с отображением активных цепочек лестничной диаграммы представлено на рисунке 7.

Рисунок 7 – Тестирование программы

4. Программа генерации импульсов

Для написания программы воспользуемся кнопкой sb1, она же start_button, двумя инструкциями управления таймером TIM1 и TIM2 со следующими параметрами: 0001,0002 – номер таймера, #10 – задание задержки в формате BCD в десятых долях секунды (1 секунда), T0001-T0002 – флаг таймера, который устанавливается в 1 (либо в 0, если контакт – нормально закрытый) по истечении времени задержки. Также воспользуемся счетчиком CNT co значением #1 и лампочкой lamp1.

В результате выполнения программы, при нажатии кнопки start_button, начинается отсчет таймера Т1, который, в свою очередь, запускает отсчет таймера Т2. Таймер Т2 сбрасывает таймер Т1, и все начинается заново, получается что-то похожее на мультивибратор. Таймер Т1 используется для активации счетчика С3, таймер Т2 – для сброса счетчика С3. Соответственно, раз в секунду счетчик С3 доходит до нуля, а затем сбрасывается обратно в единицу. Таким образом, сигнала со счетчика С3 позволяет мигать лампой lamp1 с длительность импульса t1 = t2 = 1 секунда. Листинг программы генератора импульсов представлен на рисунке 8.

Рисунок 8 – Программа генерации импульсов

Тестирование программы с отображением активных цепочек лестничной диаграммы представлено на рисунке 9.

Рисунок 9 – Тестирование программы

5. Программа вычисления времени между двумя последовательными нажатиями кнопки

Для написания программы вычисления времени между двумя последовательными нажатиями кнопки воспользуемся кнопкой start_button, инструкцией управления таймером ТIM с задержкой в 999 секунд, вспомогательным битом X1, расположенным по адресу 6.00, двумя инструкциями MOV(021) для сохранения значений в адреса регистров, а также инструкцией -B(414) – вычитанием в формате BCD без остатка.

В результате выполнения программы, при запуске стартует таймер Т1 по флагу P_On. Он начинает отсчет от 9999 мс до 0. При нажатии на кнопку start_button (дифференцированную по переднему фронту), срабатывает вспомогательный бит Х1. При срабатывании вспомогательного бита Х1 значение таймера Т1 записывается в регистр D2, а предыдущее значение, хранящееся в регистре D2, записывается в регистр D1. При этом, по флагу P_On происходит вычитание значения из регистра D2 из значения, хранящегося в регистре D1. Разность, которая представляет собой время между двумя последовательными нажатиями кнопки start_button, записывается в регистр D3. Листинг программы представлен на рисунке 10.

Рисунок 10 – Листинг программы вычисления времени между двумя нажатиями кнопки\

Тестирование программы с отображением активных цепочек лестничной диаграммы представлено на рисунке 11.

Рисунок 11 – Тестирование программы

Таблица символов для программы вычисления времени между двумя нажатиями кнопки представлена на рисунке 12.

Рисунок 12 – Таблица символов для программы вычисления времени между двумя нажатиями кнопки

Таблицы символов для остальных программ аналогичны, за исключением отсутствия вспомогательного бита X1.

Соседние файлы в папке Лаба 3