- Курсовая работа АПСУ. Курсовая АПСУ Мафедзов. Курсовая работа по дисциплине Аппаратное программирование систем управления (наименование дисциплины)
- Введение
- Теоретическая часть
- 1.1 Краткие теоретические сведения
- 1.2 Подготовка к работе
- Практическая часть
- 2.1 Подготовка к работе
- 2.2 Написание кода для автомата на Си
Курсовая работа АПСУ. Курсовая АПСУ Мафедзов. Курсовая работа по дисциплине Аппаратное программирование систем управления (наименование дисциплины)
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 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] &&\