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

2.2 Разработка структуры состояний задач

Многие задачи СРВ могут быть структурированы в соответствии с моделью состояний.

Состояние – это часть задачи, выполняемая при определённых условиях. Только одно состояние задачи является активным в данный момент времени. При изменении условий, задача может перейти в другое состояние.

Состояние ZI определяется:

  • действиями выполняемыми постоянно, пока состояние активно - DI;

  • условиями переходов в другие состояния - GI,J;

  • действием при входе в состояния - EI;

  • действием при выходе из текущего состояния в некоторое N-ное состояние – LI,N.

Step X. Задача управления ШД. Каждой задаче управления соответствует задача, формирующая для неё входное значение. Эта задача может находиться в 2-х состояниях: ожидание момента времени возможного изменения скорости привода и изменение скорости привода.

Рисунок 2.2 – Состояния задачи управления ШД

Tc = Tт+Tрт1

где Tт – текущий момент времени.

Полушаговый способ является комбинацией полношагового с перекрытием фаз и полношагового без перекрытия. Обеспечивается попеременной коммутацией фаз. Обнуление будет происходить с помощью логической операции «AND», присвоение разряду единицы будет происходить с помощью логической операции «OR».

Для данной задачи можно сформировать таблицу действий.

Таблица 2.1 – таблица состояний для задачи StepX

Состояние

Вход

Выход

Действия

1

-

-

Изменение значений фазного массива, расчет нового времени изменения параметров напряжения на обмотки, переход в состояние 2

Шаг

1

2

3

4

5

6

7

8

Фаза А

1

1

0

0

0

0

0

1

Фаза В

0

0

0

0

0

1

1

1

Фаза 2A

0

0

0

1

1

1

0

0

Фаза 2B

0

1

1

1

0

0

0

0

2

-

-

Ожидание в течении времени Tc, по истечению которого осуществляется переход в состояние 1

Goto0_X. Задача выхода в ноль выходного звена по координате X.

Рисунок 2.3 – Состояния задачи «выхода в «0»

Из исходного состояния 0, в момент включения системы управления, задача безусловно переходит в состояние 1. В этом состоянии проверяется сигнал от снижения скорости. В том случае, если датчик формирует сигнал 0, т.е. выходное звено находится на неизвестном расстоянии от начала координат, переходим в состояние 2. Если же модуль находится непосредственно возле датчика, датчик формирует сигнал 1, сразу переходим в состояние 3. В состоянии 2 выходное звено двигается с максимальной скоростью к началу координат до тех пор, пока не сработает датчик снижения скорости. Когда датчик снижения скорости формирует сигнал 1, задача переходит в состояние 3. В состоянии 3 модуль продолжает двигаться к нулю, но уже на минимальной скорости, которая составляет 20% от скорости Vmax. Так как расстояние от датчика до нуля и скорость, с которой выходное звено движется между ними, известны, рассчитываем время T1, за которое модуль достигнет начала координат. По истечении времени T1 переходим в состояние 4. В состоянии 4 начинаем движение от нуля, двигатель совершает N шагов, пока датчик начального положения не вернет 0. В этот момент переходим в состояние OFF, т.е. передаем задаче управления двигателем нулевую скорость. Выходное звено находится в положении датчика начального положения. Принимаем это положение за 0. Теперь манипулятор готов к выполнению команд оператора.

Для данной задачи можно сформировать таблицу действий.

Таблица 2.2 – таблица состояний для задачи Goto0_X

Состояние

Вход

Выход

Действия

1

-

-

Считывание датчика снижения скорости. Если ССК=0, то переход в состояние 2, если ССК=1, то переход в состояние 3.

2

Nшаг=1*106;

v=160 мм/c

-

Если СК=1, то переход в состояние 3

3

v=40 мм/c;

Задать время t1

-

Если tтек>=t1, то переход в состояние 4

4

v=40 мм/c;

Nшаг=500

Сообщение модулю нулевой скорости после прохождения N шагов

Если Nшаг=0, то v=null и x = null, переход в состояние 5

5

key=1

-

Переход в состояние ожидания

MoveX. Задача управления скоростью ШД.

Рисунок 2.4 - Состояния задачи формирования скорости

Из исходного состояния 0, задача переходит в состояние 1, при этом передаются переменные заданной координаты и сигнал датчика начального положения. Состояние 1 это состояние остановки модуля, в этом состоянии рассчитывается как разность заданной координаты и текущей (Kзад – заданная координата, Kтек – текущая координата). В этом состоянии проверяется сигнал от задачи «выход в ноль». В случае если сигнал равен 1, то есть система готова к дальнейшим манипуляциям, и переходим в состояние 2, если |Kзад-Kтек|>FSD, где FSD – величина минимального перемещения выполняемого на высокой скорости, если key=0, то модуль еще не готов к выполнению действий. Все перемещения меньше чем FSD выполняются на низкой скорости. Если MD≤|Kзад-Kтек|<FSD, где MD – минимально возможное перемещение, то переход в состояние 3. В состоянии 2 модуль двигается с средней скоростью, которая составляет 80% от Vmax. Когда остаток пути K’ становится меньше FSD, но больше MD, то переход в состояние 3. В состоянии 3 происходит движение модуля на минимальной скорости, которая составляет 20% от скорости Vmax . Как только конечное расстояние K’’ станет меньше чем минимально возможное перемещение, переходим в состояние STOP, т.е. передаем задаче управления двигателем нулевую скорость.

Для данной задачи можно сформировать таблицу действий.

Таблица 2.3 – таблица состояний для задачи MoveX

Состояние

Вход

Выход

Действие

1

СТОП. Вычисление перемещения |Kзад-Kтек|

-

Если key=1 и |Kзад-Kтек|>FSD, то переход в состояние 2 Если key=1 и MD≤|Kзад-Kтек|<FSD, то переход в состояние 3

2

v=160 мм/c

-

Если MD<=K’<FSD, то переход в состояние 3

3

v=40 мм/c;

Сообщение модулю нулевой скорости

Если ЕMD>K’’, то переход в состояние 1

Goto0_Y. Задача выхода в ноль выходного звена по координате Y.

Рисунок 2.3 – Состояния задачи «выхода в «0»

Из исходного состояния 0, в момент включения системы управления, задача безусловно переходит в состояние 1. В этом состоянии проверяется сигнал от снижения скорости. В том случае, если датчик формирует сигнал 0, т.е. выходное звено находится на неизвестном расстоянии от начала координат, переходим в состояние 2. Если же модуль находится непосредственно возле датчика, датчик формирует сигнал 1, сразу переходим в состояние 3. В состоянии 2 выходное звено двигается с максимальной скоростью к началу координат до тех пор, пока не сработает датчик снижения скорости. Когда датчик снижения скорости формирует сигнал 1, задача переходит в состояние 3. В состоянии 3 модуль продолжает двигаться к нулю, но уже на минимальной скорости, которая составляет 20% от скорости Vmax. Так как расстояние от датчика до нуля и скорость, с которой выходное звено движется между ними, известны, рассчитываем время T1, за которое модуль достигнет начала координат. По истечении времени T1 переходим в состояние 4. В состоянии 4 начинаем движение от нуля, двигатель совершает N шагов, пока датчик начального положения не вернет 0. В этот момент переходим в состояние OFF, т.е. передаем задаче управления двигателем нулевую скорость. Выходное звено находится в положении датчика начального положения. Принимаем это положение за 0. Теперь манипулятор готов к выполнению команд оператора.

Для данной задачи можно сформировать таблицу действий.

Таблица 2.4 – таблица состояний для задачи Goto0_Y

Состояние

Вход

Выход

Действия

1

-

-

Считывание датчика снижения скорости. Если ССК=0, то переход в состояние 2, если ССК=1, то переход в состояние 3.

2

v=160 мм/c;

Выбор скоростного режима MIDDLE и направления вращения ДПТ ROTATION

-

Если СК=1, то переход в состояние 3

3

v=40 мм/c;

Выбор скоростного режима LOW и направления вращения ДПТ ROTATION

Задать время t1

-

Если tтек>=t1, то переход в состояние 4

4

v=40 мм/c;

Выбор скоростного режима LOW и направления вращения ДПТ ROTATION

Задать время t2

-

Если tтек>=t2, то выбор скоростного режима STOP и x = null, переход в состояние 5

5

key=1

-

Переход в состояние ожидания

MoveY. Задача управления скоростью ДПТ.

2

движение на высокой скорости

(key=1) AND (|Kзад-Kтек|>FSDH)

(key=1) AND (|Kзад-Kтек|<FSDH)

AND (|Kзад-Kтек|<FSDH)

Рисунок 2.5 - Состояния задачи формирования скорости

Из исходного состояния 0, задача переходит в состояние 1, при этом передаются переменные заданной координаты и сигнал датчика начального положения. Состояние 1 это состояние остановки модуля, в этом состоянии рассчитывается как разность заданной координаты и текущей (Kзад – заданная координата, Kтек – текущая координата). В этом состоянии проверяется сигнал от задачи «выход в ноль». В случае если сигнал равен 1, то есть система готова к дальнейшим манипуляциям, и переходим в состояние 3, если |Kзад-Kтек|>FSD и |Kзад-Kтек|<FSDH, где FSD – величина минимального перемещения выполняемого на средней скорости, или в состояние 3, если |Kзад-Kтек|>FSDH, где FSDH – величина минимального перемещения выполняемого на высокой скорости, если key=0, то модуль еще не готов к выполнению действий. Все перемещения меньше чем FSD выполняются на низкой скорости. Если MD≤|Kзад-Kтек|<FSD, где MD – минимально возможное перемещение, то переход в состояние 4. В состоянии 2 модуль двигается с высокой скоростью Vmax. В состоянии 3 модуль двигается с средней скоростью, которая составляет 80% от Vmax. Когда остаток пути K’ становится меньше FSD, но больше MD, то переход в состояние 4. В состоянии 4 происходит движение модуля на минимальной скорости, которая составляет 20% от скорости Vmax . Как только конечное расстояние K’’ станет меньше чем минимально возможное перемещение, переходим в состояние STOP, т.е. передаем задаче управления двигателем нулевую скорость.

Для данной задачи можно сформировать таблицу действий.

Таблица 2.5 – таблица состояний для задачи MoveY

Состояние

Вход

Выход

Действие

1

СТОП

-

Если key=1 и |Kзад-Kтек|>FSD AND |Kзад-Kтек|<FSDH, то переход в состояние 3.

Если key=1 и |Kзад-Kтек|>FSDH, то переход в состояние 2. Если key=1 и MD≤|Kзад-Kтек|<FSD, то переход в состояние 4

2

v=200 мм/c

Выбор скоростного режима HIGH и направления вращения ДПТ ROTATION

-

Если key=1 и |Kзад-Kтек|<FSDH, то переход в состояние 3

3

v=160 мм/c

Выбор скоростного режима MIDDLE и направления вращения ДПТ ROTATION

-

Если MD<=K’<FSD, то переход в состояние 4

4

v=40 мм/c;

Выбор скоростного режима LOW и направления вращения ДПТ ROTATION

Сообщение модулю нулевой скорости

Если ЕMD>K’’, то переход в состояние 1