Создание пользовательского функционального блока RS-триггера в CoDeSys
Цель работы: в среде визуального моделирования (CoDeSys, язык CFC) исследовать работу RS-триггера. Триггеры Триггером называют последовательностную схему с положительной обратной связью и двумя устойчивыми состояниями 0 и 1. То есть триггер обладает свойством памяти. В общем случае триггер может иметь асинхронные входы предварительной установки (R, S), тактовый или синхронизирующий (C) и информационные входы (D). К основным типам триггеров относятся: 1) триггер с раздельной установкой состояний (RS-триггер); 2) триггер "защелка" (D - триггер); 3) универсальный триггер (JK - триггер); 4) триггер со счетным входом (T - триггер).
В данной лабораторной работе будет рассмотрен RS-триггер и его работа.
Ход работы: 1. Создание проекта в CoDeSys и исследование работы триггеров 1) Запустить среду программирования CoDeSys 2.3. Создать новый проект (File->New). Выбрать строку 3S CoDeSys SP PLCWinNT V2.4: Рисунок 1 – Начало работы Выбрать язык программирования CFC(Continuous Function Chart).
Исследование RS-триггера RS-триггер (или SR-триггер) — триггер, который сохраняет своё предыдущее состояние при нулевых входах и меняет своё выходное состояние при подаче на один из его входов единицы. Подача единицы на вход S – устанавливает выход Q в единицу (TRUE). Подача единицы на вход R – сбрасывает выход Q в ноль (FALSE). Одновременная подача единицы на оба входа запрещена. Рисунок 2 – Условное графическое обозначение RS-триггера: S – вход установки триггера (Set); R – вход сброса триггера (Reset); Q – основной выход; Ǭ – инверсный выход.
RS-триггер может находиться в двух устойчивых состояниях. Во включенном состоянии выход Q активен, выход Ǭ неактивен. В выключенном (сброшенном) состоянии выход Q неактивен, а выход Ǭ активен.
Рисунок 3 – Временная диаграмма работы RS-триггера
Таким образом, RS-триггер обладает памятью. Поэтому он используется как простейший элемент для хранения информации. Триггер может собран из элементарных полупроводниковых устройств – транзисторов. Из огромного числа триггеров собирается, например, микросхема статической памяти в ЭВМ. В связи с высокой скоростью работы статической памяти она используется при создании КЭШ-памяти.
Используя функциональные блоки логического "ИЛИ" (OR) собрать RS-триггер, согласно схеме:
Рисунок 4 – Логическая схема RS-триггера «2ИЛИ-НЕ»
Примечание: блок логического OR часто обозначают "1", блок логического AND обозначают "&".
Набор программы на языке CFC происходит путем выбора функциональных блоков (ФБ) из библиотеки, размещения их на рабочем поле и соединения соответствующих входов-выходов. Для вставки нового ФБ следует выбрать иконку на панели инструментов, расположенной сверху. Автоматически создастся блок AND (логическое И). Установив курсор на его имени, можно переименовать его, например в OR, при этом он автоматически превратится в блок логического ИЛИ (OR). Можно также воспользоваться помощником выбора ФБ по библиотекам (щелчок на имени ФБ, затем клавиша F2). Инвертирование входа/выхода осуществляется значком . Соединение входов и выходов происходит прямым перетаскиванием мышью. Необходимо помнить, что соединяться могут только выход с входом.
Рисунок 5 – RS-триггер на языке CFC с применением блоков OR
Следует не забывать объявлять используемые в программе переменные. В данной работе применяется булевский тип данных BOOL.
Примечание: не рекомендуется называть переменные одной буквой, так как в CoDeSys есть служебные символы. Они выделяются синим цветом.
Отладка программы проводится следующим образом. Установить режим эмуляции в CoDeSys (Online->Simulation mode). Запустить программу на выполнение (Online->Login, затем Online->Run). Наблюдать за работой программы. Ручное изменение значения переменных можно производить следующим образом: - двойной щелчок на имени переменной в онлайн режиме; - команда (Online->Force value или клавиша F7). В онлайн режиме состояние переменных отображается цветом. Синий цвет: логическая переменная равна TRUE; черный цвет: логическая переменная равна FALSE.
Рисунок 6 – Реализация режима эмуляции
Проанализировать работу RS-триггера. Выйти из режима эмуляции, нажав Online->Logout. Создать визуализацию работы RS-триггера в среде CoDeSys (см. пункт 2), которую при отчете лабораторной представить на проверку преподавателю.
Создание пользовательского функционального блока RS-триггера в CoDeSys
RS-триггер так же может быть собран на элементах логического "И". Создадим собственный функциональный блок "myRS", реализовав RS-триггер по схеме (c применением блоков AND): Рисунок 7 – Схема реализации RS-триггера с применением блоков AND «2И-НЕ»
Для создания собственного функционального блока (ФБ) следует сделать щелчок правой кнопкой мыши на левой панели дерева проекта (POUs) и выбрать пункт Add object… из контекстного меню. Далее ввести имя нового ФБ: "myRS", указать тип объекта – Function Block и выбрать язык программирования – CFC. Нажать OK.
Рисунок 8 – Окно создания собственного функционального блока
Слева в дереве проекта появится новый ФБ с именем myRS и программа автоматически войдет в режим его редактирования. Этот блок может быть использован в других ФБ или программах. ФБ имеет входные (VAR_INPUT), выходные(VAR_OUTPUT) и внутренние (VAR) переменные, которые объявляются в верхнем поле редактора. После объявления переменных следует запрограммировать тело ФБ, то есть связь между входными и выходными переменными. Желательно, чтобы имена переменных в ФБ и в главной программе были различными. Регистр букв в CoDeSys не различается.
Рисунок 9 – Программа, описывающая функциональный блок myRS
После того как ФБ создан его можно использовать в главной программе проекта (POU).
Рисунок 10 – Функциональный блок RS-триггера в главной программе проекта
Для этого следует создать новый блок и внутри него изменить имя "AND" на имя своего ФБ, в данном случае "myRS". Над блоком следует указать имя конкретного экземпляра ФБ, например "RStrig1". Также в разделе объявления переменных следует объявить: RStrig1: myRS; Дополнительно следует объявить переменные, связанные с входами\выходами ФБ. Проанализировать работу RS-триггера, построенного на элементах "И". Визуализация в CoDeSys
Работу программы можно проверить с помощью инструмента визуализации CoDeSys. Визуализация CoDeSys – это мощный инструмент для отладки и презентации разработанной программы.
Порядок создания визуализации:
Перейти на вкладку Vizualizations на левой панели среды CoDeSys. На свободном поле нажать правой кнопкой мыши и из контекстного меню выбрать: Add Object…
Далее ввести имя нового объекта визуализации (например viz1):
Рисунок 11 – Добавление нового объекта
Справа откроется поле графического редактора. В верхней части редактора находится палитра инструментов, с помощью которой можно рисовать различные графические примитивы (окружность, линия, прямоугольник, ломаные, кривые, текст), размещать элементы управления (кнопка, регулятор), элементы индикации (график, стрелочный прибор, динамический текст).
Рисунок 12 – Внешний вид палитры инструментов
Создадим визуализацию работы RS-триггера. Фрагмент программы показан в п. 1.1 методических указаний. Разместим на рабочем поле графические элементы, как показано на рисунке 13
Рисунок 13 – Визуализация RS-триггера
Используем для этого компоненты: Эллипс (Ellipse), Скругленный прямоугольник (Rounded rectangle), Button (Кнопка). Текст на кнопке, эллипсе или другом элементе вводится через меню компонента: двойное нажатие мышью на кнопке, пункт Text. Текст можно писать любой, в данном случае он соответствует именам переменных.
Окружности будут играть роль лампочек, то есть осуществлять индикацию значения логической переменной. Привяжем каждую лампочку к соответствующей логической переменной Q и nQ.
Привязка выполняется через меню компонента путем двойного нажатия мышью на компоненте. Далее в пункте меню Variables в поле Change color указывает имя переменной (можно использовать F2). Рисунок 14 – Привязка Лампочек к логическим переменным Q и nQ
Тут же необходимо назначить цвета для активного (Alarm color) и неактивного (Color) состояния лампочки. Это делается в пункте меню Colors.
Рисунок 15 – Задание цветов для активного и неактивного состояний лампочки
Выполним привязку кнопок к управляющим переменным Set и Reset. Привязка также осуществляется через меню компонента "кнопка". В пункте Input в строке Tap Variable указывается имя переменной, на которую будет воздействовать кнопка. Управление логической переменной (например x0) в данном случае задается функцией Toggle variable. Это имитирует кнопку с фиксацией.
Рисунок 16 - Привязка кнопок к управляющим переменным Set и Reset.
Вопросы: 1) Что такое триггер? 2) Классификация триггеров? 3) Временная диаграмма RS-триггера. 4) Принцип работы RS-триггера. 5) Визуализация в CoDeSys.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|