ВУЗ: Пермский национальный исследовательский политехнический университет
Категория: Методичка
Дисциплина: Системы реального времени
Добавлен: 15.11.2018
Просмотров: 2155
Скачиваний: 14
A
Включен 3
переключатель и
f3=true
Есть соединение с
GSM
базовой
станцией
Отправление
SMS
Работа с
дисплеем
Обнуление
посылаемой
цифры
да
да
Работа с
дисплеем
нет
Выключен 3
переключатель
F3=false
Задержка 100
мкс
нет
да
нет
B
Рис. 1.6 Блок – схема
Содержание отчета:
1) цель работы;
2) выписать
основные характеристики устройства (число портов
ввода/вывода, тип сигнала аналоговый/цифровой);
3) описание задания;
4) сформулировать задачи автоматизации;
5) описать используемые в работе порты ввода/вывода, типы сигналов;
6) построить блок-схему;
7) выделить и расписать периодические и апериодические процессы;
8) построить временную диаграмму;
9) Ответы на контрольные вопросы.
Контрольные вопросы:
1. Назначение устройства и область его применения.
2. Основные характеристики устройства.
3. Функциональные возможности устройства.
4. Характеристика аналоговых и цифровых портов.
5. Каким образом осуществляется программирование устройства?
6. Каким образом осуществляется передача данных через GSM?
7. Назначение гальванической развязки на печатной плате.
8. Каким образом осуществляется сетевое взаимодействие устройства с
помощью RS-232?
9. Приведите схему подключения программатора.
Варианты заданий:
1. Охранная система. Производить опрос четырех аналоговых входов (сигнал
с датчика обрыва) при отсутствии сигнала на любом из четырех аналоговых
входов нужно вывести на дисплей номер входа либо номера входов, если их
несколько, и отправить SMS содержащую текущую дату, время и номер
входа. Частота опросов входов 50 Гц
2. Охранная система. При наличии высокого сигнала на 1 цифровом входе
(нарушение внешнего контура) или высокий сигнал на 1 аналоговом входе
(не штатный звук) обнаруженного в течение 3 тактов, необходимо вывести
на дисплей тип сигнала и подать высокий сигнал на 1 аналоговый выход.
Частота опросов входов 100 Гц
3. Охранная система. Если с 21:00 по 9:00 отсутствуют сигналы на 1, 2
цифровых входов (открылась дверь, разбилось стекло) необходимо вывести
на дисплей номер входа и подать на 1-ый аналоговый выход высокий
сигнал и отправить SMS содержащую текущую дату, время и номер канала.
Частота опросов входов 75 Гц
4. Проектирование пожарной сигнализации. 4 комнаты, в каждой по датчику,
опрос датчиков производить с частотой 50 Гц. Если на один из четырех
цифровых входов подан высокий сигнал (срабатывает один датчик), то
сразу подавать воду не надо, а подождать 3 такта, если в течение 3-х тактов
было 3 единицы, то дать воду и отправить SMS.
5. Проектирование пожарной сигнализации. Установлены 3 датчика недалеко
друг от друга. Если на один из трех цифровых входов подан высокий
сигнал (срабатывает один датчик), подать 30% мощности на аналоговый
выход, вывести на дисплей цифру 1, если два – увеличить сигнал на 30% и
вывести на дисплей - 2, три – подать полную мощность на аналоговый
выход, и подать высокий сигнал на 1 цифровой выход (дать воду), и
вывести на дисплей - 3. опрос датчиков с частотой 75 Гц.
6. Проектирование пожарной сигнализации. Установлено 3 датчика. Если на
один из трех цифровых входов подан высокий сигнал (сработал один из
датчиков), отправить SMS с датой, временем и подать высокий сигнал на 1
цифровой выход (включить воду). При этом если есть высокий сигнал на 1
аналоговом входе (в комнате есть человек), подать высокий сигнал на 1
аналоговый выход, а воду подать (1 цифровой выход) через 30 секунд.
Опрос датчиков производить с частотой 100 Гц.
7. Система освещения. Если подан высокий сигнал на 1 цифровой вход
(человек вошел в комнату) необходимо плавно включить свет с
использованием аналогового выхода № 1. Предусмотреть ручное
управление с помощью цифрового входа №2.
8. Реализовать систему освещения в подъезде. Контролировать время. С 21:00
– 9:00 подавать высокий сигнал на 1-ый аналоговый выход, в остальное
время – низкий сигнал. Предусмотреть ручное управление с помощью
цифрового входа №1.
9. Система
освещения. Если пришла SMS на номер SIM-карты,
установленной в устройстве, через 5 минут подать высокий сигнал на 1
аналоговый выход (включить свет).
10. Необходимо разработать программу для управления подачей воды в
квартиру в зависимости от наличия человека в ней. Устройство должно на
основе показаний трех объемных датчиков (три цифровых входа),
установленных в ванной, туалете и кухне, управлять задвижкой
(аналоговый выход № 1), установленной на главном водопроводе в
квартиру. При получении сигнала от датчиков о наличии человека в
квартире задвижка должна быть открыта. Если этот сигнал не поступает в
течение 5 минут, то задвижку нужно закрыть. Также задвижку нужно
закрыть при включении переключателя №1 на устройстве. При выключении
переключателя нужно заново начать отсчет времени для закрытия
задвижки.
11. Управление подачей воды. Контролировать время. С 19:00 – 8:00 подавать
высокий сигнал на 1 аналоговый выход (задвижка открыта), если на
цифровом входе № 2 сигнал низкого уровня (человека находится в
квартире). Предусмотреть ручное управление с помощью цифрового входа
№1.
12. Управление подачей воды. Если на цифровом входе № 1 сигнал низкого
уровня (открылась дверь), необходимо подать высокий сигнал на
аналоговые выходы № 1 и 2 (открыть 2 крана), когда цифровой вход № 2
пришел сигнал высокого уровня (вода достигла определенного уровня),
закрыть краны. Предусмотреть ручное управление с помощью аналоговых
входов №1 и №2.
13. Управление отопительной системой. С 9:00 – 18:00 подавать 30% мощности
на 1 аналоговый выход (небольшая температура). С 18:00 – 8:00 увеличить
мощность. Предусмотреть ручное управление с помощью аналогового
входа №1.
14. Управление отопительной системой. Если значение 1 цифрового входа
равно единице (человек находится в помещении) и значение 1 аналогового
входа равно 800 (в помещении высокая температура) – подать высокий
сигнал на 1 цифровой выход (включить кондиционер), иначе (если низкая
температура) – подать высокий сигнал на 2 цифровой выход (включить
обогреватель). Предусмотреть ручное управление с помощью цифровых
входов №1 и №2.
15. При получении SMS на номер sim-карты, установленной в устройстве,
подавать высокий сигнал на аналоговые выходы № 1, 2 (набрать воду в
ванну) до получения низкого сигнала на цифровой вход № 1 (до
определенного уровня). Подать высокий сигнал на цифровой выход № 1
(включить обогреватель), через 10 минут после получения SMS подать
высокий сигнал на цифровой выход № 2 (включить свет).
Практическая часть
РАРАБОТКА ПО ДЛЯ СИСТЕМЫ СБОРА ДАННЫХ И УПРАВЛЕНИЯ
VIDA 88
Цель работы: получить практические навыки разработки ПО на языке
программирования VPL. Разработать ПО для системы сбора данных и
управления на базе устройства Vida 88.
Описание задания:
1) ознакомиться с основными элементами языка программирования VPL;
2) выписать структуру программы, операторы: if-then-else, case-of, while-do,
for-to-do, repeat-until, - типы переменных, структуру объявления функции,
операции языка, распределить операции по приоритетам;
3) выписать специфические функции, с которыми будет работать
приложение;
4) разработать ПО в соответствии с вариантом из лабораторной работы № 1
на языке VPL.
Язык программирования VPL
Структура программы VPL
1://----------------------------------------------------------------
Комментарий может начинаться с
символа <//> или для открытия
комментария – символ */, для
закрытия - /*
2:// Greenhouse_1.vpl, created 2000-12-31 14:45
3://
4://----------------------------------------------------------------
5:NCLUDE rtcu.inc
Включает определение всех
встроенных функций (других
файлов) в программу
6:
7:// переменные ввода
8:VAR_INPUT
9:
10:END_VAR;
11:
12:// переменные вывода
Объявление всех переменных
13:VAR_OUTPUT
14:
15:END_VAR;
16:
17:// глобальные переменные программы
18:VAR
19:
Объявление глобальных переменных
20:END_VAR;
21:
22:PROGRAM Greenhouse_1;
Имя программы
23:
24:BEGIN
25:
Тело программы
26:END;
27:
28:END_PROGRAM;
Конец программы
INCLUDE используется для включения другого файла в пределах
текущего файла и встроенных функций. rtcu.inc содержит объявления всех
стандартных функций на RTCU. INCLUDE файлы часто используются для
общих функциональных возможностей, которые могут использоваться в
нескольких проектах.
Основные операторы:
1) Операторы выбора:
а) IF – THEN – ELSE
IF <выражение> THEN
<утверждение> <утверждение>
END_IF
IF < выражение >THEN
< утверждение >;
ELSIF < выражение >THEN
< утверждение >;
ELSIF < выражение >THEN
< утверждение >;
ELSE < утверждение >;
END_IF
б) CASE – OF
CASE<выражение> OF
<константа1>, <константа2>,<константа3> : <утверждение>;
<константа1> .. <константа2> : <утверждение>;
<константа1> .. <константа2>, <константа3> : <утверждение>;
ELSE <утверждение>;
END_CASE
2) Операторы цикла:
а)WHILE – DO
WHILE <выражение> DO
<утверждение>;
END_WHILE;