Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Меркулов Отчет СРВ 25.06.10.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
244.22 Кб
Скачать

3 Обозначение переменных

Cord – текущая координата модуля выраженная в дискретах. Не определена с момента включения робота и до момента выполнения процедуры выхода в 0.

NewCord – заданная координата модуля выраженная в дискретах. Значение переменной устанавливается программными компонентами более высокого уровня. Разность переменных NewCord и Cord определяет движение модуля в том или ином направлении или его останов.

x1 – условие: (NewCord-Cord)>FSD, т.е. разность координат допустима для высокой скорости.

FSD – величина минимального перемещения выполняемого на высокой скорости; Все перемещения меньше чем FSD выполняются на низкой скорости.

x2 – условие : MD≤(NewCord-Cord)≤FSD, т.е движение на низкой скорости начинается только если заданное перемещение больше минимально – допустимого перемещения, но слишком мало для перемещения на высокой скорости.

MD – минимально возможное перемещение. Из-за инерции, и задержек в работе СУ, невозможно точно отработать перемещения, меньше определённого значения. Попытки отработать малое перемещение будут приводить к многократному 'перебегу' т.е. к позиционированию с ошибкой то в '+', то в '-'.

x3 – условие : (NewCord-Cord)≤FSD, т.е. переход на низкую скорость происходит на заданной дистанции (FSD) от точки останова.

x4 – условие: (NewCord-Cord)≤FMD. Так как остановить движение модуля в момент достижения заданной координаты невозможно (инерционные силы будут продолжать движение), на дистанции FMD двигатель будет выключен (а тормоз включён). При этом перемещение будет продолжаться, а координата увеличиваться или уменьшаться.

FMD – расстояние отводимое для свободного движения по инерции. Оно должно определятся для каждого модуля опытным путём.

PosError – разность запрограммированной NewCord и текущей на момент останова Cord координатой, ошибка позиционирования.

X5 – сигнал: немедленный останов. Сигнал формируется на более высоком уровне управления в случае необходимости немедленного останова, например при 'аварии'.

X6 – условие: аварийная ситуация при движении - в течении заданного времени нет изменения состояния датчика снижения скорости. Это же условие можно сформулировать по другому: скорость движения слишком мала.

X7 – условие: аварийная ситуация при движении - сработал датчик конечного положения, в направлении движения. Эта ситуация ошибки, так как величина задания на премещение должна формироваться так, чтобы датчик не мог сработать. Положения '0' и 'MAX' (максимального значения координаты) должны отстоять от жёстких упоров на размер зоны срабатывания датчика + размер 'защитной' зоны.

X8 – условие: аварийная ситуация - в состоянии останова (STOP): датчик положения, или датчик начального (конечного) положения изменил состояние.(thisV = pulse )

X9 – условие: аварийная ситуация - в состоянии движения по инерции (FREE_MOVE_to): в течение заданного времени TFM не произошла остановка двигателя (скорость больше минимальной).

TFM - время, через которое нужно проверить скорость движения модуля.

4 Проектирование интерфейса СРВ

Интерфейс оператора (пользователя) служит для организации взаимодействия между человеком и системой управления (ОУ). В зависимости от назначения и функций СРВ может быть использован интерфейс оператора различного типа:

– командный интерфейс. Для отображения информации используются символьные буквенно-цифровые сообщения. Вводимые команды и параметры также представляют наборы символов. Используется алфавитно-цифровой дисплей и клавиатура. Для временного или удалённого подключения к системе может использоваться последовательная линия. Командный интерфейс требует мало ресурсов процессора, ПОРВ на его основе обладают высокой мобильностью;

– графический интерфейс. Для отображения информации используется как текстовые, так и графические элементы. Для управления используется клавиатура в сочетании с устройством указания. Как правило применяется цветной графический дисплей высокого разрешения с сенсорной панелью. Графический интерфейс требует большое количество ресурсов и затрудняет перенос ПО на другую аппаратную платформу;

– приборный интерфейс. Информация отображается с помощью дискретных цифровых шкал, световых индикаторов и.т.п. Ввод команд производится с помощью тумблеров, переключателей, верньеров и.т.п. Требует мало ресурсов. Является специализированным;

– специальный интерфейс. Ввод и вывод информации производится через специальные органы управления.

Задача интерфейса оператора решает задачу отображения на дисплее процесса управления. В данном случае отображение будет комбинированным, Отображение положения модуля – графическое, скорость будет отображаться символьно. Простой вариант интерфейса (экран дисплея) приведён на рисунке 4.1.

1

2

3

4

5

6

7

1-сигнал остановки движения; 2-вертикальная координата; 3-горизонтальная координата; 4-текущая скорость двигателя, обеспечивающего движение по координате x; 5- текущая скорость двигателя, обеспечивающего движение по координате y; 6-текущая скорость модуля; 7-условное обозначение положения модуля(черная точка – текущее положение, белая точка – следующее положение модуля).

Рисунок 4.1 – Интерфейс пользователя

5 Определение временных параметров задач

При проектировании любой СРВ необходимо определить временные параметры.

К таким параметрам относятся:

  • минимально допустимая частота выполнения (просмотра, активации) задачи;

  • максимально допустимое время между событием и началом (завершением) его обработки;

  • Процентное распределение машинного времени между задачами.

В проектируемой мной СРВ стоит задача нахождения координат подвижного узла измеряемую с помощью импульсного датчика положения, имеющего дискретностью Dsk = 0.02 мм, т.е формирующего 50 изменений сигнала на 1 мм перемещения узла. Узел движется со скоростю V=20 мм/с. Изменение значения координаты производится в момент регистрации изменения входного сигнала с 0 на 1 и с 1 на 0. Регистрация производится путём опроса разряда специального регистра УСО. Таким образом, время между опросами должно быть меньше, чем интервал времени между изменением сигнала датчика, равное T=0.001 с. Принимая допустимую погрешность времени активации задачи ΔT=0.2 мс, получим , минимально допустимую частоту выполнения задачи fЗ= 1250 гц. Максимально допустимое время обработки 0.8 мс. При этом все 100% ресурсов системы будут заняты задачей подсчёта координаты.

Частота задачи интерфейса оператора, т.е. частота обновления показаний на экране должна быть примерно 30 Гц, это означает, что при скорости 0,2 м/с за одно обновление модуль пройдет 0,006 м или 0,6 см. У человека среднее время реакции на визуальный сигнал составляет 0,1-0,3 секунды. Следовательно, пока оператор отреагирует на сигнал, модуль пройдет 0,18 м или 18 см. Итого модуль будет двигаться еще 20 см.Если принять время срабатывания тормоза за 0,2 с, то пока модуль остановится, он еще пройдет 0,06 м или 6 см. Получается, в случае экстренной реакции оператора на торможение модуль, имея максимальную скорость может пройти еще примерно 26 см. Это достаточно много, именно поэтому, модуль может двигаться к заданной координате, если расстояние до нее достаточно велико и составляет больше 26 см.

6 Выбор модели процессов-потоков

Каждая задача должна выполняться во времени параллельно. Такого результата можно добиться несколькими способами:

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

  2. задача выполняется совместно с другими задачами в рамках одного потока;

  3. задача выполняется в отдельном потоке но в рамках одного процесса;

  4. задача выполняется в отдельном процессе;

Если задача выполняется в отдельном потоке, возможны следующие варианты активации потока:

    1. задача активируется по времени. Используются аппаратные или программно – аппаратные таймеры вычислительной платформы;

    2. задача выполняется независимо, как отдельный поток в рамках многозадачной ОСРВ, подчиняясь выбранной дисциплине диспетчеризации и в соответствии с заданным приоритетом.

    3. задача является обработчиком прерывания и вызывается в при возникновении внешнего прерывания.

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

В КР в данном разделе необходимо обосновать выбор модели процессов – потоков и привести указанную информацию по каждой задаче. Должна быть представлена графическая схема взаимодействия задач.

В данной задаче применяется следующая модель потоков – процессов.

Задачи, непосредственно участвующие в процессе управления реализуются совместно, в одном потоке. Задача интерфейса оператора реализуется в виде отдельного процесса, обменивающегося данными с остальными задачами с помощью системного процесса MQUEUE. Графическая схема представлена на рисунке 6.1.

Рисунок 6.1– Модель процессов-потоков

7 Выбор аппаратной архитектуры

Для создания управляющей программы СРВ необходимо преобразовать модель задач–состояний в код управляющего компьютера. Первый шаг в этом направлении - определить сколько управляющих вычислительных устройств будет в СРВ и составить перечень задач для каждого из них. Исходя из сложности проектируемой системы было принято решение использовать в качестве вычислительного устройства — персональный компьютер на базе процессора х86 Intel,128mB ОЗУ,на котором реализуются все задачи управления. Связь с управляемым объектом осуществляется по паралльному порту.

Выбор аппаратной архитектуры при разработке данной системы определялся по нескольким критериям:

  1. требуемыми временными параметрами задач — вычислительной мощности данного ВУ хватит для выполнения задач проектируемой системы;

  2. массогабаритными показателями;

  3. стоимостью аппаратных средств — ВУ с такими характеристиками очень выгодно по ценовым характеристикам;

  4. затратами на разработку ПО.

8 Выбор базового ПО и инструментальных средств

В качестве базового программного обеспечения в проекте используется ОСРВ QNX. Эта ОСРВ построена по принципам высоконадежной архитектуры на основе микроядра и четко детерминированного механизма обмена сообщениями, в том числе для взаимодействия процессов по сети.

В состав QNX входит также графическая оболочка Photon microGUI для построения встраиваемых приложений с графическим интерфейсом пользователя.

Инструментальные средства включённые в состав пакета QNX MOMЕNTICS включают : редактор, отладчик, в том числе для удалённой отладки, средства построения встраиваемых систем, различные анализаторы, средства разработки интерфейса пользователя, средства управления версиями, и конечно компиляторы с различных языков высокого уровня. В QNX одним из основных языком программирования является язык C.

Данные инструменты могут быть использованы могут быть использованы как из интегрированной среды разработки, так и как обычные инструменты с командным или графическим интерфейсом.

В проекте были использованы:

  • компилятор языка C – GNU GCC;

  • утилита GNU make;

  • отладчик gdb;

  • редактор ws ;

командный интерпретатор gnu bash;