Найти тему
Работа, учёба и отдых

Триггеры в среде програмирования PC WorX

В материалах, опубликованных ранее:

можно познакомиться с теоретической информацией и практическими работами, связанными с программированием на языке программирования Function Block Diagram в среде программирования PC WorX.

В текущем материале приведём варианты заданий по работе с триггерами.

Определение. Триггер – это цифровой элемент, обладающий способностью длительно находиться в одном из двух устойчивых состояний и чередовать эти состояния под воздействием внешних сигналов.

Отличительной особенностью триггера как функционального устройства является свойство запоминания двоичной информации.

Под памятью триггера подразумевают способность оставаться в одном из двух состояний и после прекращения действия переключающего сигнала.

Приняв одно из состояний за «1», а другое за «0», можно считать, что триггер хранит (запоминает) один разряд числа, записанного в двоичном коде.

В среде программирования PC WorX триггеры представлены двумя бистабильными асинхронными RS-триггерами с приоритетом – программными блоками RS и SR:

Триггеры на языке программирования Function Block Diagram в среде программирования PC WorX
Триггеры на языке программирования Function Block Diagram в среде программирования PC WorX

В программных блоках 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, где блок будет использоваться.

В таблице ниже представлено описание входных и выходных параметров для триггеров:

-2

Подробнее можно посмотреть в видео:

Лабораторная работа "Делитель частоты".

При помощи триггеров и/или счетчиков (см. подробнее о счётчиках: https://dzen.ru/a/ZQuIi_qLtTUS9Fwr?share_to=link) на языке Function Block Diagram разработайте программу для делителя частоты. Тактовая частота F1, результирующая частота F2 и фронт срабатывания заданы в таблице ниже, форма сигнала задающего генератора и форма выходного сигнала – меандр. Замечание: в качестве задающего генератора предлагается использовать импульсный таймер. Дополнительно продемонстрируйте работу программы на логическом анализаторе.

Варианты для выполнения лабораторной работы
Варианты для выполнения лабораторной работы

Для работы над лабораторной работой необходимо дополнительно ознакомиться с логикой действия функциональных блоков R_TRIG и F_TRIG:

-4

Функциональные блоки 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.

Работу описанного логического устройства удобно и наглядно можно представить в графическом виде в окне графического анализатора (см. рисунок ниже).

Переменные Pulse_1, F1, Pulse_2 и F2 в окне логического анализатора
Переменные Pulse_1, F1, Pulse_2 и F2 в окне логического анализатора

Маркером 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, которая использует триггеры.

Результат в режиме отладки в виде скрина приведите в виде комментария под текущим материалом.