8.6 Расчет траектории положений
Траектория положений представляет собой совокупность заданного числа последовательных состояний механической системы, рассчитанных между начальной и конечной точками. Каждая точка траектории положений определяется с помощью условий состояния механизма (объекты типа condition). В качестве начальной точки используется текущее состояние механической системы. Конечная точка траектории положений задается либо величиной приращения к начальному значению условия состояния, либо непосредственно конечным значением условия состояния. При определении точек траектории положений учитываются также те программные движения (объекты типа motion), которые находятся в текущий момент во включенном состоянии и влияют на положение или скорость частей механической системы. Для оперативной настройки текущего состояния объектов (включения или выключения программных движений, заклинивания или удаления шарниров и т.д.) можно использовать Объектное меню.
Создание команды
Для расчета в режиме исследования проекта траектории положений в режиме редактирования необходимо создать команду Расчет траектории положений. Таких команд может быть несколько. Никаких ограничений на их количество нет. Чтобы создать команду, выберите в меню Анализ пункт Расчет траектории положений / Создать. После чего откроется диалоговое окно для формирования команды. Это окно имеет следующий вид.

Рис. 78. Окно Настройка расчета траектории положений
В окне настройки все условия состояния механизма выводятся в виде таблицы. В ней каждое условие состояния механизма занимает одну строку. Таблица состоит из следующих трех граф.
− Условие состояния – содержит поле-переключатель и имя условия состояния механизма. Если в поле-переключателе стоит метка – условие состояния включено и будет использоваться в расчете траектории положений. Если метки нет – условие состояния выключено. Чтобы включить или выключить условие состояния, щелкните левой кнопкой мыши на поле-переключателе.
− Тип данных – содержит флаг, определяющий тип значения, которое находится в поле Значение. Этот флаг может иметь два значения:
− finalValue:. В поле Значение задано конечное значение характерного значения условия состояния.
− totalIncrenment:. В поле Значение задано приращение характерного значения условия состояния.
Для того чтобы изменить значение флага, надо щелкнуть левой кнопкой мыши над этим полем.
− Значение – содержит данные, которые определяют какое характерное значение условия состояния механизма должно быть достигнуто в конечной точке траектории положений. Эти данные можно менять. При изменении данных условие состояния механизма автоматически переводится во включенное состояние. Тип данных (приращение или конечное значение) зависит от значения флага в поле Тип данных.
В поле Количество точек задается количество точек в траектории положений.
В поле Приращение времени на одном шаге задается временной интервал. Этот временной интервал добавляется к текущему времени после расчета каждой точки траектории положений. Если его значение равно нулю, то время при расчете траектории положений меняться не будет.
Поле Управление выводом результата содержит две кнопки. Если нажата кнопка Вывод всех точек, то при расчете траектории положений будут выведены все точки команды. Если нажата кнопка Вывод только последней точки, то при расчете команды будет выведена только последняя точка траектории положений, а промежуточные точки будут скрыты от пользователя.
После создания команды в меню Анализ будет добавлен пункт с этой командой.
Выполнение команды
Расчет траектории положений выполняется по нажатию кнопки
на панели инструментов программного комплекса или при выборе команды в пункте меню Анализ. При этом сам проект должен находится в режиме исследования.

По нажатию кнопки
на панели инструментов программного комплекса выполняется расчет траектории положений в обратном направлении. То есть механическая система возвращается в начальную точку.

Для остановки расчета служит кнопка
на панели инструментов программного комплекса.

Номер текущей точки траектории положений выводится в специальном окне на панели инструментов программного комплекса. Справа от этого окна расположены мини-кнопки, которые предназначены для пошагового расчета траектории положений.
При расчете траектории положений для визуализации и контроля процесса перемещения механической системы могут быть открыты следующие окна.
− Вид проекта – для отображения движения, визуального контроля нежелательных контактов в механической системе и в других целях. Каждое из этих окон может иметь собственный ракурс, масштаб, привязку и другие настройки.
− Камера – для отображения движения из заданной точки с заданным ракурсом.
− Значения датчиков – для вывода текущих значений характеристик механической системы.
− Графики датчиков – для вывода характеристик механической системы в виде графиков или таблиц. Аргументом для графиков датчиков следует выбирать датчики, которые будут менять свое значение при расчете траектории положений.
Число одновременно открытых окон всех типов не ограничено.
Пользователь может управлять частотой вывода результатов расчета в окна. Для этого на панели инструментов программного комплекса имеется поле Шаг вывода результатов расчета. Если N – значение в этом поле, то выводится каждый N-й шаг траектории положений. Значение данного поля можно менять.
Описание команды в файле проекта
Команда Расчет траектории положений сохраняется в файле проекта. Синтаксис описания команды аналогичен синтаксису описания объектов ММС.
Синтаксис создания команды
posTrace(N, list((С1, V1, dataType=…),C2,…), time1step=…, traceResult=…)
Обязательные позиционные параметры команды
scalar N [-]
Количество точек в траектории положений.
list((condition C1, scalar V1, dataType=…), condition C2,…)
Список условий, которые необходимо выполнить при расчете траектории положений. Каждое условие, как правило, представляет собой пару – условие состояния механизма и скаляр, задающий приращение к начальному значению условия состояния или конечное значение условия состояния. Если условие не имеет характерного значения, оно состоит только из условия состояния механизма.
condition C1
Условие состояния, имеющее характерное значение.
scalar V1
Значение условия состояния. Тип значения определяется необязательным именованным параметром dataType. Размерность скаляра определяется условием состояния.
dataType =[ finalValue:/ totalIncrement:]
Необязательный именованный параметр. Определяет тип значения скаляра V1. По умолчанию dataType = finalValue:
dataType = finalValue:
Скаляр V1 задает конечное значение условия состояния.
dataType = totalIncrement:
Скаляр V1 задает приращение к начальному значению условия состояния.
condition C2
Условие состояния, не имеющее характерного значения.
Необязательные именованные параметры команды
time1step = scalar [time]
Шаг приращения времени на каждом шаге расчета траектории положений. По умолчанию time1step = 0 [s]
traceResult = [ allPositions:/ finalPosition:]
Параметр определяет вывод результатов расчета траектории положений. По умолчанию traceResult = allPositions:
traceResult = allPositions:
При расчете команды выводятся все точки траектории положений.
traceResult = finalPosition:
При расчете команды выводится только последняя точка траектории положений.