Файл: ЛР-4 Разработка программы для ПЛК на языке ST.pdf

Добавлен: 15.11.2018

Просмотров: 2155

Скачиваний: 14

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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. Назначение гальванической развязки на печатной плате. 


background image

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-ый  аналоговый  выход,  в  остальное 


background image

время  –  низкий  сигнал.  Предусмотреть  ручное  управление  с  помощью 
цифрового входа №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 (включить свет).  


background image

Практическая часть 

РАРАБОТКА ПО ДЛЯ СИСТЕМЫ СБОРА ДАННЫХ И УПРАВЛЕНИЯ 

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: 

 

 


background image

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;