В материалах, опубликованных ранее:
можно познакомиться с теоретической информацией и практическими работами, связанными с программированием на языке программирования Function Block Diagram в среде программирования PC WorX.
В текущем материале приведём варианты заданий по работе с таймерами.
Определение. Таймером называется средство обеспечения задержек и измерения времени программными средствами. Функциональные блоки, реализующие такие задержки времени на языке Function Block Diagram в среде программирования PC WorX, показаны на рисунке ниже:
В среде программирования PC WorX имеются следующие виды таймеров:
- таймер с задержкой по включению TON (Timer_on_delay),
- таймер с задержкой по выключению TOF (Timer_off_delay),
- импульсный таймер TP (Timer_pulse).
Таймер TON обеспечивает задержку по включению. Если на входе IN сигнал меняет свое значение с 0 (False) на 1 (True), переключение сигнала на выходе Q задерживается на время, заданное на входе PT. Прошедшее с момента изменения сигнала на входе время отображается на выходе ET. Вход IN и выход Q можно инвертировать.
Таймер TOF реализует задержку по выключению. Если на входе IN сигнал меняет свое значение с 1 (True) на 0 (False), выключение сигнала на выходе Q задерживается на время, заданное на входе PT. После истечения времени, заданного на PT, сигнал на выходе Q меняет свое значение с 1 (True) на 0 (False). Прошедшее время отображается на выходе ET. Вход IN и выход Q также можно инвертировать.
Таймер TP формирует импульс на выходе Q с длительностью, заданной по входу PT, как только на входе IN сигнал меняет свое значение с 0 (False) на 1 (True). При этом, даже если сигнал 1 (True) на входе IN длится дольше, чем время на PT, на длительность выходного импульса это не повлияет. Также как и для других таймеров, прошедшее время отображается на выходе ET, а вход IN и выход Q также можно инвертировать.
Всё вышесказанное формализовано в следующем табличном виде:
Лабораторная работа 1 «Система управления пешеходным светофором».
Разработайте при помощи таймеров на языке Function Block Diagram схему управления пешеходным светофором со следующими параметрами, заданными в таблице (здесь длительность красного сигнала обозначена через n секунд, длительность зелёного сигнала - m секунд).
Сигналы сменяются поочередно и никогда не горят одновременно. Задействуйте для красного и зелёного сигналов физические выходы ПЛК с номерами k и lсоответственно, заданными в таблице 76.
Упражнение. Предложите свое техническое решение задания, отличное от предложенного в примере (например, реализуйте схему без таймера TON, без таймера TOF, схему с двумя таймерами, и т.д.). Результат в режиме отладки в виде скрина приведите в виде комментария под текущим материалом.
Приведём пример реализации лабораторной работы 1:
Прокомментируем приведённый пример выполнения лабораторной работы 1. На импульсном таймере TP_1 при помощи введения обратной связи с инверсного выхода реализован генератор единичных импульсов с периодом следования, задаваемым переменной Cycle. В примере переменная Cycle задает длительность одного рабочего цикла светофора, т.е. длительность свечения красного сигнала плюс длительность свечения зеленого. Единичный импульс, поступая на вход таймера TOF_1, формирует на выходе Q (переменная Red_light_on, которая соответствует работе красного сигнала светофора) логическую единицу на период времени, задаваемый переменной Green_delay. По истечении этого времени Red_light_on сбрасывается в 0, одновременно с этим срабатывает выход Q таймера TON_1 (отсрочка срабатывания задана той же переменной Green_delay), устанавливая на выходе логическую единицу до прихода следующего единичного импульса с таймера TP_1.
Для того, чтобы назначить выходным переменным физические выходы программируемого логического контроллера (Output1 – Output 4), в свойствах переменной в выпадающем меню имени выберите ONBOARD_OUTPUT_BIT0 – ONBOARD_OUTPUT_BIT3 (выберите требуемый).
Лабораторная работа 2 «Модификация системы управления пешеходным светофором».
Модернизируйте ранее разработанную схему управления пешеходным светофором (см. лабораторную работу 1 выше). Длительность непрерывного свечения красного сигнала n секунд, длительность непрерывного свечения зелёного сигнала m секунд, длительность мигания зеленого сигнала светофора x секунд с частотой мигания f герц. Сигналы сменяются поочередно в следующей последовательности: длительный красный, длительный зелёный, мигающий зелёный, и никогда не горят одновременно. Задействуйте для красного и зелёного сигналов физические выходы программируемого логического контроллера с номерами k и l соответственно:
Приведём пример реализации лабораторной работы 2:
Аналогично предыдущей лабораторной работе 1, на импульсном таймере TP_1 при помощи введения обратной связи с инверсного выхода реализован генератор единичных импульсов с периодом следования, задаваемым переменной Cycle. В примере переменная Cycle задает длительность одного рабочего цикла светофора.
Единичный импульс, поступая на вход таймера TOF_1, формирует на выходе Q (переменная Red_light_on, которая соответствует работе красного сигнала светофора) логическую единицу на период времени, задаваемый переменной Green_delay. По истечении этого времени Red_light_on сбрасывается в 0, одновременно с этим запуская таймер TON_1 (отсрочка срабатывания таймера TON_1 обозначена переменной Flash_delay_time, которая задаёт длительность непрерывного свечения зелёного сигнала светофора), устанавливая по истечении времени Flash_delay_time на выходе логическую единицу.
Таймером TP_2, триггером RS_1 и двумя логическими элементами AND формируется меандр с периодом, равным удвоенному значению переменной Cycle_flash. Для приведённого примера Cycle_flash = 0.5, что соответствует частоте 1 Гц.
Логическими элементами AND, формирующими выход Green_light_on, задаются условия, разрешающие мигание зелёного сигнала светофора: отсутствие сигнала на Red_light_on и окончание времени действия таймера TON_1.
Для того, чтобы назначить выходным переменным физические выходы программируемого логического контроллера (Output1 – Output 4), в свойствах переменной в выпадающем меню имени выберите ONBOARD_OUTPUT_BIT0 – ONBOARD_OUTPUT_BIT3 (выберите требуемый).
Упражнение. В качестве дополнительного Упражнения предлагается написать в среде программирования PC WorX программу реализации ШИМ-сигналов с использованием таймеров. Подробнее об этом смотрите в видео:
Результат в режиме отладки в виде скрина приведите в виде комментария под текущим материалом.
Также предлагайте свои варианты лабораторных работ, которые используют таймеры.