«Создание функциональных блоков».
Цель работы: Научиться создавать и использовать функциональные блоки.
Краткие теоретические сведения:
В ходе решения задачи необходимы следующие элементы FBD: функция SEL, и функциональные блоки: TON, TOF, AND, OR, NOT.
Рис. 3.1 Блоки, необходимые для решения задания
SEL – эта функция выбирает один из двух входов в зависимости от значения первого входа G:
Если G = False, то значение входа IN0 отображается на выходе OUT.
Если G = True, то значение входа IN1 отображается на выходе OUT.
Таблица 3.1 Описание параметров функции SEL
Параметр |
Тип данных |
Описание |
G |
BOOL |
Выбор входного значения |
IN0 |
Любой |
Входное значение |
IN1 |
Любой |
Входное значение |
OUT |
Любой |
Выходное значение |
Примечание: вход G может иметь отрицательное значение. IN0, IN1 и OUT должны иметь некоторый тип данных.
TON - реализует функцию таймера на включение временной задержки.
Если входной параметр IN изменяется от False к True, включение задерживается на интервал времени указанный на входе PT. После истечения времени на входе PT, значение True отображается на выходе Q. Время, которое уже прошло указано на выходе ET.
Примечание: вход IN и выход OUT могут иметь отрицательные значения.
Таблица 3.2 Описание параметров функции TON
Параметр |
Тип данных |
Описание |
IN |
BOOL |
Если на вход поступило True то элемент начинает работу. |
PT |
TIME |
Текущий интервал для временной задержки |
Q |
BOOL |
TRUE если IN = TRUE и ET >= PT FALSE если IN = FALSE и ET <PT |
ET |
TIME |
Прошедший интервал времени |
Временная диаграмма для блока TON изображена на рисунке 3.2.
Рис.3.2 Временная диаграмма TON
TOF - реализует функцию таймера на выключение временной задержки.
Если входной параметр IN изменяется от True к False, выключение задерживается на интервал времени указанный на входе PT. После того как время входа PT истекло, значение False отображается на выходе Q. Время, которое уже прошло указано на выходе ET.
Примечание: вход IN и выход OUT могут иметь отрицательные значения.
Таблица 3.3 Описание параметров функции TOF
Параметр |
Тип данных |
Описание |
IN |
BOOL |
Если поступило True таймер РТ включается. |
PT |
TIME |
Текущий интервал для временной задержки |
Q |
BOOL |
TRUE если IN = TRUE и ET <PT FALSE если IN = FALSE и ET >= PT |
ET |
TIME |
Прошедший интервал времени |
Временная диаграмма для блока TOF изображена на рисунке 3.3.
Рис.3.3 Временная диаграмма TOF
Создание и использование аналоговых входов и выходов. Чтобы просмотреть значения аналогового модуля необходимо создать переменную. Задать переменной имя, а в поле I\O address указать адрес %IW0; тип данных переменной WORD. Ниже на рисунке показано соединение переменной аналогового входа и переменной аналогового выхода.
Рис. 3.4 Изображение аналоговых сигналов
Пример решения задачи с одним выходом показан на рисунке 3.5.
Рис 3.5 Пример индикации одного выхода
Ход работы:
Запускаем PC WORX. Меню File – New Project… - ILC1xx – ILC130ETH.
Создаём функциональный блок (ФБ): правой кнопкой мыши щёлкаем на папке Logical POUs – Insert – Function Block (рис. 3.6).
Рис. 3.6 Вставка ФБ
Задаём ему имя и указываем какой язык будет использоваться - FBD (рис. 3.7).
Рис. 3.7 Меню ФБ
В main ФБ решаем задание, указывая в таблице переменных входы и выходы. А в главном окне вызываем ФБ и подключаем входы и выходы.
Задание на лабораторную работу:
1. Создать свой функциональный блок, который будет осуществлять индикацию четырёх выходов. В главном окне МЭК программирования использовать 5 входных сигнала, подключаемых к своему функциональному блоку, с разными режимами индикации.
2. Используя потенциометр, подключённый к аналоговому модулю, задействовать выходную индикацию. Использовать значения потенциометра 1, 3, 5, 7, 9. Алгоритм индикации выходов (Q1, Q2, Q3, Q4) выбирается по номеру бригады. В таблице указаны единицей выходы, которые должны гореть.
Таблица 3.4 Выбор варианта
Значения потенциометра № вар |
1 |
3 |
5 |
7 |
9 |
1 |
0001 |
0011 |
0101 |
1101 |
1001 |
2 |
1011 |
1000 |
0000 |
0010 |
0110 |
3 |
0111 |
1010 |
0100 |
1100 |
1110 |
4 |
1111 |
0000 |
0110 |
0010 |
1101 |
5 |
0100 |
0011 |
1011 |
1110 |
0001 |
6 |
0101 |
0111 |
1000 |
1010 |
1111 |
7 |
1100 |
0000 |
0111 |
1001 |
0010 |
8 |
0100 |
0011 |
1011 |
110 |
1110 |
9 |
1111 |
0001 |
0101 |
1101 |
0110 |
10 |
1000 |
0010 |
1001 |
0111 |
1010 |
11 |
0110 |
0100 |
1001 |
0111 |
1111 |
12 |
0101 |
1011 |
1110 |
0001 |
0110 |
Требования к содержанию протокола:
Титульный лист с указанным номером лабораторной работы и темой.
Задание к лабораторной работе.
Выбор варианта.
Описание хода выполнения работы, выбранных блоков и обоснование своего выбора.
Описание и иллюстрация правильно работающей программы.
Выводы.
Контрольные вопросы:
Создание функционального блока?
Каково назначение элемента SEL?
В чём различие между элементами TOF и TON?
Какие параметры содержит элемент AND, OR? Таблицы истинности булевых функций.
Порядок загрузки программы в память контроллера?
Запуск и отладка программы?
Как работает аналоговый модуль?
ЛАБОРАТОРНАЯ РАБОТА №3