Автоматное программирование систем управления мирэа

Курсовая работа АПСУ. Курсовая АПСУ Мафедзов. Курсовая работа по дисциплине Аппаратное программирование систем управления (наименование дисциплины)

Единственный в мире Музей Смайликов

Самая яркая достопримечательность Крыма

Скачать 1.53 Mb.

«МИРЭА – Российский технологический университет»

КУРСОВАЯ РАБОТА

по дисциплине « Аппаратное программирование систем управления »

Тема курсовой работы: «Построение автоматной модели управления пневмоцилиндрами по заданной управляющей последовательности»

Студент группы ИВБО-11-19, Мафедзов Аскер Русланович _____________________
(учебная группа, фамилия, имя, отчество студента) (подпись студента)
Руководитель курсовой работы: Старший преподаватель, Хлебников А.А. _______________
(должность, звание, ученая степень) (подпись руководителя)

Работа представлена к защите «___» _______________ 2021 г.
Допущен к защите «___» _______________ 2021 г.
Москва 2021 г

«МИРЭА – Российский технологический университет»

Задание на курсовую работу получил __________________ (Мафедзов А.Р.)

подпись обучающегося Ф.И.О. исполнителя

ОТЗЫВ на курсовую работу по дисциплине «Автоматное программирование систем управления»

Студент Мафедзов Аскер Русланович ИВБО-11-19

Рекомендуемая оценка: ___________

Введение

Целью курсовой работы является построение автоматной модели управления пневмоцилиндрами по заданной управляющей последовательности. Для выполнения необходимо по исходным данным построить диаграмму Мура. Написать на языке Си автомат. В программной среде SimInTech сгенерировать DLL, и построить модель, содержащую 8 пневмоцилиндров, после чего протестировать работу автомата: полный цикл работы, с ошибкой без перехода из состояния в ошибочное состояние, и проверить, что происходит переход из состояния в другое состояние, в случае ошибки, везде, где присутствует переход.

Теоретическая часть

1.1 Краткие теоретические сведения

Пневматический привод (пневмопривод) — совокупность устройств, для приведения в движение частей машин и механизмов посредством энергии сжатого воздуха.

Пневмопривод, подобно гидроприводу, представляет собой своего рода «пневматическую вставку» между приводным двигателем и нагрузкой (машиной или механизмом) и выполняет те же функции, что и механическая передача (редуктор, ремённая передача, кривошипно-шатунный механизм и т.д.). Основное назначение пневмопривода, как и механической передачи, — преобразование механической характеристики приводного двигателя в соответствии с требованиями нагрузки (преобразование вида движения выходного звена двигателя, его параметров, а также регулирование, защита от перегрузок и др.). Обязательными элементами пневмопривода являются компрессор (генератор пневматической энергии) и пневмодвигатель.

В зависимости от характера движения выходного звена пневмодвигателя (вала пневмомотора или штока пневмоцилиндра), и соответственно, характера движения рабочего органа пневмопривод может быть вращательным или поступательным. Пневмоприводы с поступательным движением получили наибольшее распространение в технике.

Рисунок 1.1.1 – Модель пневмоцилиндра

Рисунок 1.1.2 – Модель поршня

1.2 Подготовка к работе

Моделируемый процесс задается пятеркой . Где – множество пневмоцилиндров; – множество отрезков времени за которые набор пневмоцилиндров на заданном шаге должны изменить сове положение; – множество отрезков времени в течении которых на заданном шаге процесса должно удерживаться положение пневмоцилиндров после их стабилизации; – множество пар переходов с шага процесса , в котором за время не удалось сменить положение пневмоцилиндров, на шаг ; – последовательность наборов пневмоцилиндров изменяемых на заданном шаге процесса.

Последовательность наборов цилиндров представляет из себя строку, в которой задана последовательность включения и отключения пневмоцилиндров, при этому выключение (цилиндр находится в крайнем нижнем положении) обозначается отрицанием , а включение (цилиндр находится в крайнем верхнем положении) обозначено без отрицания . В одну единицу шага процесса в скобках указывается в какое состояние должны перейти пневмоцилиндры. Например, говорит о том, что по завершении этого шага пневмоцилиндр и должны перейти в крайнее нижнее положение, при этом предыдущее положение этих цилиндров должно быть крайним верхним .

Отдельно задается время, за которое пневмоцилиндры должны переместиться за одну единицу шага процесса ( ) и время нахождения на данном шаге процесса ( ). Например, запись говорит о том, что на шагах 1, 2, 5 пневмоцилиндр должен переместиться за время равное или меньше 50 дискретам, а на шагах 3, 4 за 40; время нахождения на шагах 4 и 5, после выставления требуемого положения пневмоцилиндров, равно 120 дискретам, а на 1, 2, 3 шагах равное 180 дискретам.

В случаях, когда на каком-либо из шагов, цилиндрам не удалось за заданное время сменить свое положение, процесс должен завершиться с ошибкой и ожидать сброса или, если есть дополнительное описание, произвести переход на необходимый шаг. Переход задается парой, где в скобках описывается шаг, с которого осуществляется переход, в случае, описанном выше, и далее после запятой шаг, на который осуществляется переход. Например, – говорит о том, что, если на шаге 1 процесса, не удалось за заданное время привести цилиндры в необходимое положение надо перейти на шаг исполнения 5.

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

2.1 Подготовка к работе

Исходные данные (Вариант 18):

Составим диаграмму Мура, ориентируясь на исходные данные. Диаграмма Мура представлена на рисунке А.1

На рисунке А.1 показаны состояния и переходы в другие состояния. В случае перехода, показывается, что изменяется, сколько времени требуется и время задержки в устойчивом состоянии. В случае, если произойдёт ошибка в состояниях, у которых нет альтернативного пути, тогда будет выполнен переход в ошибочное состояние, после которого работа будет прекращена.

2.2 Написание кода для автомата на Си

После составления диаграммы Мура, надо написать код на Си и смоделировать систему из поршней и блока управления в программе SiminTech.

Опишем важные части из кода, которые необходимы для работы блока управления пневмоцилиндрами.

В листинге 2.1 указано перечисление всех возможных состояний автомата.

State_9, State_10, State_11,

State_12, State_13, State_14,

State_15, State_16, State_17,

#define D_DELTA(delay) ((delay)*1000)

#define T_FLAG(engine) (engine->timeout > engine->timeouts[engine->state])

#define D_FLAG(engine) (engine->delay > engine->delays[engine->state])

#define E_FLAG(engine) ((engine->cylinders[CYLINDER_1].input[SIGNAL_DOWN] &&\

Источник

Читайте также:  Технология программирование дипломные работы
Оцените статью