Курсовая работа АПСУ. Курсовая АПСУ Мафедзов. Курсовая работа по дисциплине Аппаратное программирование систем управления (наименование дисциплины)
Скачать 1.53 Mb.
|
по дисциплине «Аппаратное программирование систем управления» (наименование дисциплины) Тема курсовой работы: «Построение автоматной модели управления пневмоцилиндрами по заданной управляющей последовательности» Студент группы ИВБО-11-19, Мафедзов Аскер Русланович _____________________ (учебная группа, фамилия, имя, отчество студента) (подпись студента) Руководитель курсовой работы: Старший преподаватель, Хлебников А.А. _______________ (должность, звание, ученая степень) (подпись руководителя) Работа представлена к защите «___» _______________ 2021 г. Допущен к защите «___» _______________ 2021 г. Москва 2021 г
Студент Мафедзов Аскер Русланович Группа ИВБО-11-19 Тема «Построение автоматной модели управления пневмоцилиндрами по задан-ной управляющей последовательности» Исходные данные: 8 пневмоцилиндров в SimInTech, управляющая последовательность, описывающая работу пневмоцилиндров. Перечень вопросов, подлежащих разработке, и обязательного графического материала:Построение автоматной модели процесса управления пневмоцилиндра, моделирование пневмоцилиндра в среде SimInTech, описание взаимодействия автоматной модели, реализованной на языке Си и среды динамического моделирования SimInTech.
«___» _______________ 2021 г. Задание на курсовую работу получил __________________ (Мафедзов А.Р.) подпись обучающегося Ф.И.О. исполнителя ОТЗЫВ на курсовую работу по дисциплине «Автоматное программирование систем управления»
Характеристика курсовой работы
Рекомендуемая оценка: ___________
СОДЕРЖАНИЕ ВведениеЦелью курсовой работы является построение автоматной модели управления пневмоцилиндрами по заданной управляющей последовательности. Для выполнения необходимо по исходным данным построить диаграмму Мура. Написать на языке Си автомат. В программной среде 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 указано перечисление всех возможных состояний автомата. Листинг 2.1 – Перечисление состояний автомата
В листинге 2.2 представлены все макроопределения, которые были использованы, для упрощения работы. Листинг 2.2 – Перечисление макроопределений
Окончание листинга 2.2
В листинге 2.3 представлена функция инициализации автомата. То бишь в данной функции мы инициализируем время задержек всех состояний и время переходов из одного состояния в другое. А также мы инициализируем начальное состояние автомата. Листинг 2.3 – Инициализация автомата
В листинге 2.4 представлена реализация работы автомата, при каких условиях автомат осуществляет свою работу и пневмоцилиндры меняют своё положение и переходят в следующее состояние. Также здесь рассмотрены переходы при возникновении ошибок в работе пневмоцилиндров. Листинг 2.4 – Работа автомата
Окончание листинга 2.4
В листинге 2.5 представлены функции сброса времени и опускания всех цилиндров. Они были написаны, для удобства построения автомата. Листинг 2.5 – Функции сброса времени и опускания всех цилиндров
2.3 Построение автомата в программе SiminTechЧтобы проверить работу написанного автомата необходимо построить модель, показанную на рисунке 2.3.1. Рисунок 2.3.1 – Модель автомата Теперь необходимо провести 2 проверки: 1. Проверка на правильную работу автомата. 2. Проверка на реагирование ошибочных данных. На рисунке 2.3.2 и 2.3.3 показаны графики работы автомата. Рисунок 2.3.2 – График управляющих сигналов Рисунок 2.3.3 –График положения цилиндров На рисунке 2.3.4 показано переход автомата в ошибку, при отсутствие ошибочного перехода. Поскольку его нет, то программа переходит в состояние фатальной ошибки, как видно по самому нижнему графику, который отвечает за работу автомата. Рисунок 2.3.4 – График перехода в ошибочное состояние Теперь рассмотрим каждый переход, где существуют ошибочные переходы с одного состояния в другое. На рисунке 2.3.5 показано реагирование автомата на ошибки, у которых есть переходы. В данном случае, это переход и фатальная ошибка. Поскольку условия для не выполнились, произошёл переход в состояние , после этого условия для для не выполнились, произошёл переход в состояние , а затем условия для не выполнились, и система перешла в состояние а затем переход в фатальную ошибку. На рисунке 2.3.6 представлен переход . Рисунок 2.3.5 – Переход в ошибочное состояние Рисунок 2.3.6 – Переход в ошибочное состояние Также надо проверить, как себя поведет автомат, если датчики на одном цилиндре будут сигнализировать о наличии цилиндра, то бишь верхний и нижний концевые датчики будут сигнализировать о цилиндре (рис. 2.3.7). Рисунок 2.3.7 – Ошибка датчиков 2.4. Проверка работы автомата в условиях, приближенных к реальнымПроведем испытания автомата управления в условиях, приближенных к реальным. Для этого в 4 пневмоцилиндрах изменим источник, на полость постоянного объема (рис. 2.4.1). Блок моделирует междроссельные полости (камеры) пневматических устройств. Установим объем 0.5 л, 0.6 л, 0.7 л и 1 л, для первого, второго, третьего и четвертого цилиндра соответственно. Давление в каждой полости составляет 15 мПа. Рисунок 2.4.1 – Модель пневмоцилиндра, приближенного к реальным условиям По задумке, в полости какого-то из цилиндров, должен закончиться газ, тем самым нарушив работу цилиндра, следовательно, наш автомат должен корректно отработать данную ошибку. На рисунке 2.4.2 представлена работа модели в условиях, приближенных к реальным. Как мы можем видеть, состояния отрабатываются корректно, но при переходе в второму цилиндру не хватает газа для подъема, поэтому он не может подняться. У нас истекает время перехода, м автомат переход в состояние фатальной ошибки. Рисунок 2.4.2 – Диаграмма управляемых сигналов и положения цилиндров в условиях, приближенных к реальным ЗаключениеВ данной курсовой работе, по заданной управляющей последовательности, мы построили диаграмму Мура, реализовали автомат на языке Си и разработали модель в программе SiminTech. Изучили методы построения автоматных моделей по заданным управляющим последовательностям и научились их применять на практике. Рассмотрели прикладной аспект парадигмы автоматного программирования и на практике применили автомат, построенный по данной парадигме. А также повысили свой навык проектирования архитектуры конечных автоматов. Рассмотрели возможный вариант технологического процесса работы пневмоцилиндров, построили модель, провели испытания нашего автомата в идеальных условиях и условиях, приближенных к реальным, и досконально разобрали каждый переход в следующее состояние, для поиска возможных изъянов автомата. Также научились прогнозированию появления ошибок, при работе автомата и способам предотвращения ошибок. По итогу данной курсовой работы, мы можем проектировать автоматы для контроля определенных технологических процессов, с возможностью прогнозирования возможных ошибок. Список использованных информационных источниковХлебников А. А. Лекции. Автоматное программирование систем управления, РТУ МИРЭА, 2021 уч. г. Хлебников А. А. Конечные автоматы. ― М.: РТУ МИРЭА, 2021. ― С. 3-20. Автоматное программирование систем управления: практическая работа №9 / Под ред. А. А. Хлебникова. ― М.: Построение автоматной модели управления пневмоцилиндрами по заданной управляющей последовательности, 2021. ― 17 с. Пневматический привод ― URL: https://ru.wikipedia.org/wiki/Пневматический_привод (Дата обращения: 21.07.2021) Пневмоцилиндры ― назначение, использование и особенности конструкции ― URL: https://kuzvesti.ru/kultura-i-iskusstvo/pnevmotsilindry-naznachenie-ispolzovanie-i-osobennosti-konstruktsii.html (Дата обращения: 21.07.2021) Регулирование скорости работы пневмоцилиндра ― URL: https://totalkip.ru/articles/regulirovanie_skorosti_raboty_pnevmocilindrov (Дата обращения: 21.07.2021) Diagram Software and Flowchart Maker ― URL: http://draw.io (Дата обращения: 21.07.2021) ПриложениеПриложение АРисунок А.1 – Диаграмма Мура |