Компьютерное моделирование и анализ кинематики плоских рычажных механизмов, страница 7

Процедура Line(x1,y1,x2,y2) служит для проведения линии между точками с координатами x1,y1 и x2,y2. Необходимо отметить, что все параметры процедур, являющиеся координатами, являются переменными  целого типа. Текущее положение курсора можно установить процедурой MoveTo(x,y), где параметры процедуры перемещают положение курсора в точку с заданными координатами. Процедура LineTo(x,y) проводит отрезок прямой от текущего положения курсора до точки с указанными координатами. Процедура Cirle(x,y,r) выводит окружность с центром x,y и радиусом r. Процедура PutPixel(x,y,color) высвечивает точку (пиксель) цветом color с координатами x,y. Процедура SetColor(color) устанавливает цвет графических примитивов, а процедура SetBkColor(color) устанавливает цвет фона. Процедура OutTextXY(x,y,str1) выводит символьную переменную str1 начиная от точки с координатами x,y. Так как в графическом режиме можно выводить только символьную информацию, то полезной будет знакомство с процедурой Str(v,sv), преобразующей числовые значения переменных в символьные. Здесь v - переменная с числовым значением, а sv - значение переменной в символьном виде. Необходимо также отметить, что данная процедура входит в модуль System, следовательно она всегда доступна как в графическом так и в текстовом режимах. Процедура ClearDevice очищает графический экран. Процедура закрытия графического режима CloseGraph не имеет параметров.     Таким образом, кратко рассмотрены правила подключения графического режима и основные процедуры, необходимые для работы в таком режиме.

2.2  Построение положений механизма

Определение кинематических характеристик механизма и построение его положений, планов скоростей и планов ускорений проведем на примере шестизвенного механизма, часто применяемого на практических занятиях на кафедре ТММ (см. Рис. 6). Начало неподвижной координатной системы совпадает с осью вращения кривошипа AB (звено 1). Предполагается, что известны длины всех звеньев, координаты всех дополнительных точек звеньев и координаты всех кинематических пар стойки механизма (звено 0), т.е. данному этапу работы по определению кинематики механизма должен предшествовать этап синтеза механизма (определение недостающих размеров звеньев), если таковой предусмотрен учебными планами кафедры.

Задавая положение начального звена 1 (угол ϕ1), получим значения координат точки B

bx := l1*cos(fi1);              by := l1*sin(fi1);.

Продифференцировав выражения по ϕ1, получаем аналоги скоростей              vbx := - by;   {- l1*sin(fi1);}

vby := bx;     {l1*cos(fi1);}, а затем и ускорений

abx := - bx;   {- l1*cos(fi1);}              aby := - by;   { -l1*sin(fi1);}.

Зная координаты точки С и учитывая, что аналоги скоростей и ускорений данной точки равны 0 (точка неподвижна), обращаемся к процедуре, вычисляющей кинематику группы Ассура третьего вида   diada3v(bx,by,vbx,vby,abx,aby,cx,cy,0,0,0,0,0,fi3,om3,epsi3,lcb,v3,a3);.

В этой процедуре входными параметрами являются положения, аналоги скоростей и ускорений внешних кинематических пар группы B и C, длина шатуна l2. В нашем примере эта длина равна 0. Последние шесть параметров являются выходными, т.е. являются результатами работы процедуры. Здесь   ϕ3  - угол наклона кулисы (звена 3);   ω3 - аналог угловой скорости;   ε3 - аналог углового ускорения;   lcb - расчетная длина кулисы;

V3  - аналог относительной скорости шатуна (зв. 2) по кулисе;   A3  - аналог относительного ускорения шатуна.

Зная координаты точки D на кулисе, определяем ее положение, аналог скорости и аналог ускорения

dx := lcd*cos(fi3);  {т.к. Cx = 0}   dy := cy + lcd*sin(fi3);   vdx := - lcd*sin(fi3)*om3;

vdy := lcd*cos(fi3)*om3;   adx := - lcd*(cos(fi3)*sqr(om3) + sin(fi3)*epsi3);   ady := lcd*(cos(fi3)*epsi3 - sin(fi3)*sqr(om3));.