В материалах, опубликованных ранее:
можно познакомиться с теоретической информацией и практическими работами, связанными с программированием на языке программирования Function Block Diagram в среде программирования PC WorX.
В текущем материале приведём варианты заданий по работе с триггерами.
Определение. Триггер – это цифровой элемент, обладающий способностью длительно находиться в одном из двух устойчивых состояний и чередовать эти состояния под воздействием внешних сигналов.
Отличительной особенностью триггера как функционального устройства является свойство запоминания двоичной информации.
Под памятью триггера подразумевают способность оставаться в одном из двух состояний и после прекращения действия переключающего сигнала.
Приняв одно из состояний за «1», а другое за «0», можно считать, что триггер хранит (запоминает) один разряд числа, записанного в двоичном коде.
В среде программирования PC WorX триггеры представлены двумя бистабильными асинхронными RS-триггерами с приоритетом – программными блоками RS и SR:
В программных блоках SR и RS выход Q1 устанавливается входом SET1 и сохраняет свое значение даже в случае сброса входа SET1 в состояние FALSE.
Выход Q1 = FALSE, если вход RESET = TRUE. Отличие блоков заключается в том, что блок SR имеет приоритет установки, и если оба входа (SET1 и RESET) установлены в TRUE, выход Q1 устанавливается входом SET1 в состояние TRUE; а блок RS имеет приоритет сброса, и если SET = RESET1 = TRUE, то Q1 устанавливается входом RESET1 в состояние FALSE. Все параметры блоков RS и SR можно инвертировать
Блокам SR, RS необходимо объявлять уникальные имена в листе переменных POU, где блок будет использоваться.
В таблице ниже представлено описание входных и выходных параметров для триггеров:
Подробнее можно посмотреть в видео:
Лабораторная работа "Делитель частоты".
При помощи триггеров и/или счетчиков (см. подробнее о счётчиках: https://dzen.ru/a/ZQuIi_qLtTUS9Fwr?share_to=link) на языке Function Block Diagram разработайте программу для делителя частоты. Тактовая частота F1, результирующая частота F2 и фронт срабатывания заданы в таблице ниже, форма сигнала задающего генератора и форма выходного сигнала – меандр. Замечание: в качестве задающего генератора предлагается использовать импульсный таймер. Дополнительно продемонстрируйте работу программы на логическом анализаторе.
Для работы над лабораторной работой необходимо дополнительно ознакомиться с логикой действия функциональных блоков R_TRIG и F_TRIG:
Функциональные блоки R_TRIG и F_TRIG детектируют фронт входного сигнала.
В блоке R_TRIG выход Q меняет свое значение с FALSE на TRUE по переднему фронту сигнала на входе CLK. При первом вызове блока выход Q = FALSE до появления первого переднего фронта.
В блоке F_TRIG выход Q меняет свое значение с FALSE на TRUE по заднему фронту сигнала на входе CLK. При первом вызове блока выход Q = FALSE до появления первого заднего фронта.
Пример выполнения лабораторной работы на примере варианта № 30:
Прокомментируем пример выполнения лабораторной работы:
На импульсном таймере TP_1 при помощи введения обратной связи с инверсного выхода реализован генератор единичных импульсов с периодом следования, задаваемым переменной Cycle.
Для формирования меандра используем триггер – блок SR.
На выходе триггера получаем задающую частоту, где Т – период следования импульсов таймера TP_1 (в примере – переменная Cycle).
Согласно заданию, частота следования импульсов на выходе должна быть вдвое меньше входной, фронт срабатывания – передний. Для этого на элементах R_TRIG_1, RS_2 и двух элементах AND сформирован асинхронный T – триггер, переключающийся по каждому импульсу на входе F1.
Работу описанного логического устройства удобно и наглядно можно представить в графическом виде в окне графического анализатора (см. рисунок ниже).
Маркером 1 на рисунке графического анализатора отмечен выход Pulse_1, маркером 2 – F1, 3 – Pulse_2, маркером 4 – выход F2.
Для работы с логическим анализатором из рабочего поля IEC Programming Workspace в режиме отладки буксировкой левой кнопкой мыши поместите переменные, необходимые для анализа, в окно Logic Analyser в правой части рабочего поля (маркер 1 рисунка ниже).
Открыть окно Logic Analyser можно из меню View→ Logic Analyser или сочетанием клавиш ALT+F11.
Для запуска логического анализатора нажмите кнопку Start Recording (маркер 2 рисунка ниже), либо кнопку F11.
Изменять параметры процесса регистрации сигналов можно в меню Trigger Configuration (маркер 3 рисунка ниже) или сочетанием клавиш SHIFT+F11.
Упражнение. В качестве дополнительного Упражнения предлагается написать программу в среде программирования PC WorX, которая использует триггеры.
Результат в режиме отладки в виде скрина приведите в виде комментария под текущим материалом.