Введение
. Техническое задание
. Техническое проектирование СРВ
2.1 Разработка диаграммы задач
.1.1 Operator_IF
.1.2 ProgControl
.1.3 Sled_X
.1.4 Sled_Y
.1.5 GotoX
.1.6 GotoY
.1.7 PWM_Task
.1.8 InTask
.1.9 OutTask
2.2 Разработка структуры состояний задач
. Проектирование интерфейса СРВ
. Проектирование на основе вычислительной технологии
.1 Выбор аппаратной архитектуры
.2 Выбор базового ПО и инструментальных средств
.3 Выбор модели процессов-потоков
. Разработка ПО РВ
. Отладка ПО РВ
Заключение
Список использованных источников
Приложения
Введение
реальный время управление интерфейс
Система реального времени (СРВ) - компьютерная система управления или сбора информации, обеспечивающая предоставление (расчёт) верных управляющих (запрошенных) данных за необходимый интервал времени. Вне зависимости от числа, порядка наступления и временных соотношений внешних событий (срабатывание датчиков, изменение режима пользователем и т.п.) время реакции СРВ будет находиться в заданном допустимом диапазоне.
Общие положения по СРВ:
1) Система управления (СУ) и, в частности, её программная часть должна быть построена так, чтобы исключить неконтролируемые задержки, блокировки и.т.п. в любых возможных ситуациях. Процесс управления должен быть четко детерминирован.
2) Необходимо правильно оценить требуемое абсолютное быстродействие СУ на основе изучения и моделирования объекта управления - для того, чтобы выбрать аппаратную платформу с нужным быстродействием, предусмотреть устройства предварительной обработки, произвести разделение вычислительной нагрузки между несколькими устройствами, оптимизировать программы по быстродействию.
) Задачи управления в реальном времени возникают в основном при управлении механическими или энергетическими объектами - т.е. там, где временные характеристики определяются физической природой.
) Применение СРВ характерно для определённого диапазона временных интервалов. Их быстродействие всегда ниже аппаратных цифровых или аналоговых устройств. Если управление не критично по времени, то необходимо обеспечить надёжность СРВ.
) Необходимо правильно оценить стоимости ошибки (управления).
Принято различать системы мягкого (soft) и жесткого (hard) реального времени. В системах жесткого реального времени неспособность обеспечить реакцию на какие-либо события в заданное время ведет к отказам и невозможности выполнения поставленной задачи. Системами мягкого реального времени называются системы, не попадающие под определение "жесткие", т.к. в литературе четкого определения для них пока нет. Системы мягкого реального времени могут не успевать решать задачу, но это не приводит к отказу системы в целом. В системах реального времени необходимо введение некоторого директивного срока (в англоязычной литературе - deadline), до истечения которого задача должна обязательно (для систем мягкого реального времени - желательно) выполниться.
Данная работа посвящена разработке системы управления МС в режиме мягкого реального времени. Согласно принятой модели, разработка СРВ включает следующие два основных этапа:
1) Техническое проектирование системы - описание процесса управления как совокупности взаимодействующих процессов. Осуществляется на основе изучения и моделирования объекта управления (ОУ). Техническое описание является программно-независимым.
2) Проектирование на основе вычислительной технологии - реализация результатов технического проектирования в виде конкретных программно-аппаратных средств, позволяющих обеспечить требуемые технические характеристики с учётом существующих ограничений.
В связи с учебным характером СРВ в данной работе не включаются этапы
исследования, описания или моделирования ОУ. Вся необходимая информация уже
сформирована на этапе технического задания.
1. Техническое задание
Разработать программное обеспечение, работающее в режиме реального времени (ПОРВ) и выполняющее функции системы управления мехатронным объектом.
Объект управления - манипулятор с 2-мя степенями подвижности. Каждая степень подвижности представляет собой электромеханический модуль, в котором выходное звено перемещается относительно входного звена с помощью электропривода, включающего:
1) Электродвигатель постоянного тока или шаговый.
2) Датчик начального положения (НП), формирующий сигнал лог.1, когда выходное звено находится на расстоянии менее или равном 1 мм от начала координат (входного звена) и сигнал лог.0 при любом другом расстоянии.
) Датчик снижения скорости (СК) для шагового двигателя, формирующий сигнал лог.1, когда выходное звено находится на расстоянии менее или равном 1 мм от датчика, и сигнал лог.0 при любом другом расстоянии.
) Электромагнитный фрикционный тормоз, фиксирующий положение выходного звена относительно входного звена, пока на вход усилителя электромагнита подан сигнал лог.0, и разрешающий движение выходного звена при подаче на вход сигнала лог.1. Время переключения механизма тормоза задано по варианту задания.
Шаговый двигатель управляется за счёт последовательного включения-выключения обмоток фаз, причём направление движения определяется порядком переключения, а скорость - частотой переключения.
Для правильной работы объекта управления, необходимо при включении питания выполнить процедуру 'калибровки', или 'привязки к 0', датчика положения или счётчика шагов шагового двигателя.
Каждый привод осуществляет независимое перемещение в заданное положение с заданной скоростью. В процессе движения на первом участке скорость движения увеличивается до максимальной, затем на втором участке остаётся постоянной и наконец на третьем участке уменьшается до нуля. При этом ускорение на участке разгона и торможения должно изменяться по 'треугольному' закону. При малых перемещениях 2-ой участок траектории отсутствует, а максимальная скорость может быть меньше заданной.
Система управления (СУ) мехатронного объекта предназначена для выполнения программного управления перемещением. Перед началом работы оператор должен выбрать одну из заранее подготовленных программ работы мехатронной системы. Эта программа должна включать команды трёх типов:
1) Команда на перемещение (задаются координаты конечной точки X, Y в мм).
Команды задания максимальной скорости (задаётся максимальная скорость перемещения Vmax в мм/сек).
Команды временной остановки (задаётся время остановки в сек).
Программа может быть просмотрена, запущена на исполнение и выполняться, приостановлена, выполнена по одному шагу, начата с начала.
ПОРВ должно поддерживать интерфейс оператора: на дисплее должна показываться информация о текущем состоянии: координате, скорости текущем шаге программы и.т.п. В качестве устройства указания и ввода информации могут использоваться как стандартные устройства компьютера: клавиатура, мышь, джойстик так и устройства ввода, подключаемые к устройству связи с объектом (УСО).
Исходные данные:
Тип двигателя 1: шаговый;
Тип управления двигателем 1: униполярный полушаговый;
Тип двигателя 2: шаговый;
Тип управления двигателем 2: биполярный полушаговый;
Режим разгона: треугольный;
Максимальная скорость: 0,5 м/с;
Дискретность: 0,1 мм;
Время срабатывания тормоза: 0,3 с;
Основная функция: программное управление.
2. Техническое проектирование СРВ
2.1 Разработка диаграммы задач
Объект управления представляет собой сложный механизм, состоящий из нескольких комплексов элементов, которые работают независимо друг от друга. Поэтому целесообразно выделить в составе единого процесса управления мехатронной системой несколько задач, независимых друг от друга, но связанных между собой каналами передачи данных.
В результате исследований объекта управления мы разбили весь процесс
управления на три уровня иерархии и выделили шесть задач.
.1.1 Operator_IF
Задача представляет собой визуальный интерфейс для удобного взаимодействия с оператором. По сути дела, это единственная задача, с которой оператор может каким-либо образом взаимодействовать. Так как по заданию мы реализуем программное управление, именно OP будет загружать и обрабатывать сценарии выполнения действий, а затем в структурированном виде посылать команды обработчику.
Функции данной задачи следующие:
- загрузка и проверка на наличие ошибок сценариев работы;
- структурирование и отправка команд по специальному каналу интерпретатору команд;
- отображение параметров текущего состояния ОУ;
- предоставление оператору визуальных средств для удобного управления МС.
Входными данными для задачи OP являются сценарии работы МС в виде загружаемых файлов, а также действия оператора, регистрируемые посредством визуальных компонентов ввода. Со стороны основного процесса поступают данные о текущих координатах Xc и Yc, а также мгновенной скорости каждого двигателя Vx и Vy.
В качестве выходных данных служит структура, содержащая номер команды и необходимые аргументы.
Так как задача OP
создана для взаимодействия с человеком, она находится на высоком уровне
иерархии и является перемежающейся.
.1.2 ProgControl
Является посредником между задачей оператора и задачами управления скоростями двигателей. Задача ProgControl интерпретирует поступившие от задачи OP команды и устанавливает в соответствии с ними соответствующие параметры для задач более низкого уровня. В ответ ProgControl отправляет данные о текущем состоянии МС.
Входные данные:
- со стороны задачи оператора - структура, содержащая номер команды и аргументы;
- со стороны задач среднего уровня - текущие координаты Xc и Yc, а также значения мгновенной скорости каждого двигателя Vx и Vy.
Выходные данные:
- в сторону среднего уровня - целевые координаты Xt и Yt, максимальная скорость на данном участке Vm и время остановки Ts.
- в сторону задачи оператора - структура, содержащая данные о текущих координатах Xc и Yc, а также мгновенной скорости каждого двигателя Vx и Vy.
Данная задача также является перемежающейся, но вследствие высокой частоты отправки текущих данных задаче оператора она требует достаточно большое процессорное время. Так как она работает на одном уровне с задачей оператора, но со стороны процесса управления МС, мы отнесли ProgControl к задачам высокого уровня иерархии.
2.1.3 Sled_X
Задача управления скоростью ШД1. Предназначена для управления скоростью вращения ШД1 и текущей координатой выходного звена по оси X.
Функции:
- расчет временных интервалов каждого из режимов движения;
- расчет мгновенных значений ускорения, скорости, координаты X;
- формирование сигналов на выводах блока ввода-вывода к обмоткам ШД1;
- управление фрикционным тормозом по координате X;
- выдержка времени стоянки.
Входными данными задачи являются целевая координата Xt, максимальная скорость на данном участке Vm и время остановки Ts.
Выходными данными являются значения состояний фрикционного тормоза B0 по координате X и сигналы на выводы блока ввода-вывода, обозначенные как массив из четырех выходов.
Расчет временных характеристик производится с использованием типов данных
с плавающей точкой, поэтому задача очень требовательна к машинному времени и
относится к непрерывным задачам.
.1.4 Sled_Y
Задача управления скоростью ШД2. Предназначена для управления скоростью вращения ШД2 и текущей координатой выходного звена по оси Y.
Функции:
- расчет временных интервалов каждого из режимов движения;
- расчет мгновенных значений ускорения, скорости, координаты Y;
- формирование сигналов на выводах параллельного порта к обмоткам ШД2;
- управление фрикционным тормозом по координате Y;
- выдержка времени стоянки.
Входными данными задачи являются целевая координата Yt, максимальная скорость на данном участке Vm и время остановки Ts.
Выходными данными являются значения состояний фрикционного тормоза B1 по координате Y и сигналы на выводы параллельного порта, обозначенные как массив из четырех выходов.
Расчет временных характеристик производится с использованием типов данных
с плавающей точкой, поэтому задача очень требовательна к машинному времени и
относится к непрерывным задачам.
.1.5 GotoX
Задача выхода в ноль выходного звена по координате X. Напоминает задачу управления скоростью ШД1 Sled_X. Однако в отличие от последней объект движется только в отрицательном направлении и переходит в режим торможения и останова согласно сигналам датчика снижения скорости и датчика начального положения, а не временных интервалов. Когда значение сигнала датчика начального положения устанавливается в единицу, считается, что выходное звено находится в начале координат и текущая координата Xc обнуляется.
Входные данные:
- значение датчика начального положения для координаты X PSP0.
Выходные данные:
- значение состояния фрикционного тормоза B0 по координате X;
- сигналы на выводах блока ввода-вывода к обмоткам ШД1.
.1.6 GotoY
Задача выхода в ноль выходного звена по координате Y. Напоминает задачу управления скоростью ШД2 Sled_Y. Однако в отличие от последней объект движется только в отрицательном направлении и переходит в режим торможения и останова согласно сигналам датчика снижения скорости и датчика начального положения, а не временных интервалов. Когда значение сигнала датчика начального положения устанавливается в единицу, считается, что выходное звено находится в начале координат и текущая координата Yc обнуляется.
Входные данные:
- значение датчика начального положения для координаты Y PSP1.
Выходные данные:
- значение состояния фрикционного тормоза B1 по координате Y;
- сигналы на выводах параллельного порта к обмоткам ШД2.
Задача I/O в нашем случае отсутствует, так как остальные задачи
среднего и низкого уровней взаимодействуют с устройством ввода/вывода напрямую,
формируя готовые сигналы, которые впоследствии нужно только усилить.
.1.7 PWM_Task
Задача ШИМ модуляции. На вход задачи поступает ширина импульса, и данная
задача включает/выключает сигнал, поступающие на ДПТ.
.1.8 InTask
Задача получения данных от устройства ввода/вывода.
.1.9 OutTask
Данная задача передает данные устройству ввода/вывода.
Таким образом, описанные задачи составляют комплекс управления МС. И
теперь на основе всего вышесказанного мы можем построить диаграмму задач
системы управления мехатронным объектом. Диаграмма задач представлена на
рисунке 2.1.
Рисунок 2.1 - Диаграмма задач системы управления мехатронным объектом
2.2 Разработка структуры состояний задач
Многие задачи СРВ могут быть структурированы в соответствии с моделью состояний. Тогда все операции в составе одной задачи можно разделить по группам, соответствующим состояниям процесса, выделенным по определенным критериям и представить всю задачу в виде конечного автомата. Так как наш процесс управляет движением, целесообразным было бы в качестве таких критериев принять характеристики движения - ускорение и скорость.