Хелпикс

Главная

Контакты

Случайная статья





Индивидуальное задание. Вариант №1. Object. System. External Timer



 

ПГУТИ

 

Индивидуальное задание

Тема: «Моделирование работы объекта и системы управления при помощи Switch-технологии»

 

Выполнил:

Студент гр. УИТС-81

Громов С.В.

 

Самара

2012г

Вариант №1

Задание:

 Разработать модель управления электроприводом стеклоподъемника автомобиля. В процессе разработки считать, что управление осуществляется с помощью контроллера лабораторной установки Momentum. Связь с объектом осуществляется следующим образом (см. таблицу 1).

Таблица 1 – Информационные сигналы системы управления стеклоподъёмником

Название сигнала Адрес входа/выхода ПЛК
Команда на ИМ «Поднять стекло» %000016
Команда на ИМ «Опустить стекло» %000015
Сигнал с датчика «Стекло поднято» %100014
Сигнал с датчика «Стекло опущено» %100015
Индикация «Стекло поднято» %000013
Индикация «Стекло опущено» %000009
Индикация «Стекло поднимается» %000014
Индикация «Стекло опускается» %000010
Индикация «Стекло не двигается» %000011
Индикация «Стекло застряло» %000012

 

 Управление стеклоподъёмником должно осуществляться пользователем с помощью команд с верхнего уровня системы управления. Время полного хода стекла составляет 25 секунд. Это время должно контролироваться программой и в случае, если время будет превышено – должна сформироваться ошибка «Стекло застряло». Кроме того, если в течение трёх секунд после подачи команды «Поднять стекло» или «Опустить стекло», стекло не двигается с места – должна быть сформирована ошибка «Стекло не двигается». При появлении любой из ошибок управляющие сигналы с объекта управления должны быть сняты (электропривод отключен).

 

 

На рисунке ниже представлена схема, разработанная в среде MatLAB.

Button Up, Button Down – кнопки «Поднять стекло»  и «Опустить стекло» соответственно; в chart System представлены как события

System – модель Системы управления в виде конечного автомата

Object – модель объекта управления в виде конечного автомата

External Timer – внешний таймер для слежения за временем работы объекта

Так же на схеме присутствуют семь индикаторов, отражающих текущее состояние объекта

Podnyato, Opuscheno, Podnimaetsya, Opuskaetsya, Stoit, Zastralo (обозначает что стекло не закрылось/открылось в течении положенного времени), Steklo Ne Dvigaetsya (означает, что в течении трех секунд объект никак не отреагировал на сигнал системы управления)

Все эти индикаторы принимают значение 1 или 0 в зависимости от состояния

 

 

Рассмотрим каждый Chart подробнее.

Object

Таблица состояний:

Входные сигналы:

SUp – сигнал «Поднять стекло»

SDown – сигнал «Опустить стекло»

SZ – сигнал «Стекло застряло»

 

Выходные сигналы:

DOWN2/UP2 – сигналы подаваемые на СУ «стекло опущено»/»стекло поднято»

Ris/ Fal - сигналы подаваемые на СУ «стекло опускается» /»стекло поднимается»

 

Counter:

Внутренний таймер, имитирует время работы объекта, при подаче сигнала «Поднять стекло» от СУ

Начинает считать до 250 и останавливается. При подаче сигнала «Опустить стекло» считает в обратную сторону (от 250 до 0). Так же переход можно осуществить в процессе поднятия/опускания стекла, в этом случае новый отсчет начнется с той цифры, до которой дошел таймер, что точно имитирует реальную работу стеклоподъемника.

Obj:

Init – начальное состояние, стекло опущено

Rising – состояние «Поднимается». Переход в это состояние осуществляется по сигналу «Поднять стекло» от СУ (SUp==1), при переходе подается сигнал ,что стекло начало движение вверх. Так же в это состояние можно перейти из состояния «Опускается» так же по сигналу «Поднять стекло» от СУ. Переход в Init происходить по сигналу SZ, этот сигнал генерирует СУ, когда стекло застревает

Close – состояние «Стекло Поднято», переход происходит по истечении работы таймера (T= 250)

Falling – состояние «Стекло Опускается». Переход в это состояние осуществляется по сигналу «Опустить стекло» от СУ (SDown==1). При переходе подается сигнал, что стекло начало движение вниз. Так же в это состояние можно перейти из состояния «Поднимается» так же по сигналу «Опустить стекло» от СУ. Переход в Init происходить по сигналу SZ, этот сигнал генерирует СУ, когда стекло застревает

Open – состояние «Стекло Опущено», переход осуществляется по истечении работы таймера (T=0)

 

System

Состояния СУ аналогичны состояниям объекта управления

Init – начальное состояние, стекло опущено

Up – переход происходит по событию Up1 (нажали кнопку) из состояний Опущено или Опускается. При этом на объект подается команда «Поднять окно» (UP2=1). Если в течении 3х секунд объект не начал движение (индикатор Ris=0) то автомат возвращается в Init, и выводит сообщение «Стекло не двигается».  Если по истечении времени работы внешнего таймера, сигнал «Стекло поднято» от объекта не поступил, автомат так же возвращается в Init, и выводится сообщение о том, что стекло застряло.

Close – переход происходит при условии, что от объекта был подан сигнал «Стекло поднято» не позднее чем внешний таймер закончил счет. Если в течение 3х секунд после нажатия кнопки «Опустить стекло» (Событие Down1) объект не реагирует (индикатор  Fal=0), то автомат остается в этом состоянии.

Down – состояние Опускается, аналогично состоянию Up, но в обратную сторону

Open – переходное состояние «стекло Опущено», переход происходит по сигналу от объекта и внешнего таймера.

Входные сигналы:

UP1, DOWN1 – сигналы от объекта «Стекло Поднято» и «Стекло Опущено» соответственно

T – сигнал с внешнего таймера, контролирует время работы объекта

Ris, Fal – сигналы от «Стекло Поднимается» и «Стекло Опускается» соответственно

Выходные сигналы:

UP2, DOWN2 – команда подаваемая на объект «Поднять стекло» и «Опустить стекло» соответственно

Z – сигнал, отключающий объект, когда стекло застряло.

IndUp, IndDown, Rising, Falling, Stop, Error, Nein – индикаторы состояний объекта

 

External Timer

Входящие сигналы:

Up, Down – сигналы от СУ «Поднять стекло» и «Опустить стекло» соответственно, активируют таймер

Nein – Сигнал того, что объект не отвечает на команды СУ

Выходной сигнал:

Т – время таймера

 

External Timerаналогичен внутреннему таймеру Объекта управления. Начинает отсчет с момента подачи команды «Поднять/Опустить стекло». Добавлен сигнал Nein, он возвращает таймер в предыдущее состояние, если объект не отвечает на команды.

 

 

Примечание:

При моделировании времени работы стеклоподъемника количество тиков таймеров никаким образом не отражает реальное время работы, поэтому примем  1 тик таймера за 100 мсек, т.е.            1 сек = 10 тиков. Экспериментально было установлено, что 250 тиков ≈ 22 сек,  это хотя бы приближенно отражает реальный процесс. 

 

 

Работа Системы:

Показания индикаторов при нормальном функционировании объекта:

Для моделирования ситуации, когда стекло застряло, необходимо изменить время работы внутреннего таймера объекта управления. Рассмотрим ситуация когда стекло застревает по пути наверх:

Для этого изменяем время работы с 250 на 350. По истечении 250 тиков на внешнем таймере на СУ не поступает сигнал «Стекло поднято» и объект отключается на индикаторах появляются соответствующие сигналы:

 

Смоделируем наиболее вероятную поломку стеклоподъемника:

Подается команда «Поднять стекло», стекло полностью поднимается. Затем подаем команду «Опустить стекло», пока стекло находится в состоянии «Опускается», снова подаем команду «Поднять стекло». Снова не дожидаясь когда стекло поднимется, подается команда «Опустить стекло». В этот момент стекло застревает. Для того чтобы это реализовать подобную ситуацию на последнем описанном переходе изменяем значение Т (значение времени во внутреннем таймере объекта):

В итоге на выходе СУ снова получаем уведомление о застрявшем стекле:

 

Ситуация когда объект не отвечает на команды возможна когда либо сам объект неисправен, либо сигнал до него просто не доходит. Логически в контексте данной модели эти ситуации ничем друг от друга не отличаются, поэтому чтобы реализовать подобные поломки достаточно либо добавить ключ на проводах от UP2 (chart System) к SUp (chart Object)  и от DOWN2 (chart System) к SDown (chart Object), либо просто удалить эти провода. Дабы не загромождать без того нелегко читаемую схему воспользуемся вторым методом, удалим провод от DOWN2 (chart System) к SDown (chart Object).

 

Объект реагирует на команду «Поднять стекло», и спустя 250 тиков переходит в состояние «Поднято». При подачи команды «Опустить стекло», объект, разумеется, никак не реагирует и по истечении трех секунд (30 тиков) снова возвращается в состояние «Поднято». Система управления генерирует сигнал ошибки:

Аналогично можно смоделировать ситуацию, когда стекло не реагирует из начального состояния «Опущено»:

 

Вывод:

В данной работе я моделировал работу стеклоподъемника с помощью SWITCH-Технологии и получил практические знания в области разработки конечных автоматов в среде MatLab.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.