$***********************************************************
$   макро задает поворот рулевого колеса и связанное
$   с ним перемещение рейки рулевого механизма
$  (с.с подаются через фиктивные элементы)
$***********************************************************
$       формальные параметры шага МОДЕЛЬ
$ p1  - номер тела 'рейка'
$ p2  - номер узла тела рейка вблизи левой опоры на кузове
$ p3  - номер тела  'кузов'
$ p4  - номер узла тела 'кузов' на правой опоре рейки рулевого механизма
$ p5  - номер подсистемы задатчика поворота рулевого колеса
$ p6  - номер тела 'руль'
$ p7  - номер узла тела 'руль' на оси вращения
$
BL14  NPDS  TPDS  LX  LY  LZ  UX  UY  UZ
@  'Умножитель угла колеса'
       npu1  104  0  0  0  0  0  0
@  'инвертор программного движения'
       npu2  102 0  0  0  0  0  0
@  'сумматор разности'
       npu3  101 0  0  0  0  0  0
@  'Фиктивное звено 1'
       npu4 111  0  0  0  0  0  0
@  'Фиктивное звено 2'
       npu5 111  0  0  0  0  0  0
@  'Умножитель коэффициента усиления'
       npu6  104  0  0  0  0  0  0
$ Поворот руля
@  'сумматор разности углов'
       npu7  101 0  0  0  0  0  0
@  'умножитель - масштабатор'
       npu8  104 0  0  0  0  0  0
@  'инвертор'
       npu9  102 0  0  0  0  0  0
@  'Умножитель коэффициента усиления'
       npu10 104  0  0  0  0  0  0
@  'Фиктивное звено 3'
       npu11 111  0  0  0  0  0  0
@  'умножитель'
       npu12 104 0  0  0  0  0  0
@  'Фиктивное звено 4'
       npu13 111 0  0  0  0  0  0
@  'умножитель'
       npu14 104 0  0  0  0  0  0
@  'Фиктивное звено 5'
       npu15 111  0  0  0  0  0  0
@  'Фиктивное звено 6'
       npu16 111  0  0  0  0  0  0
@  'сумматор разности угловых скоростей'
       npu17  101 0  0  0  0  0  0
@  'умножитель - масштабатор'
       npu18  104 0  0  0  0  0  0
@  'инвертор'
       npu19  102 0  0  0  0  0  0
@  'Умножитель коэф демпфирования'
       npu20 104  0  0  0  0  0  0
@  'Фиктивное звено 7'
       npu21 111  0  0  0  0  0  0
@  'сумматор упругого и демпф. моментов'
       npu22  101 0  0  0  0  0  0
@  'сумматор сил рейки и колеса'
       npu23  101 0  0  0  0  0  0
@  'умножитель инвертор момента колеса'
       npu24  104 0  0  0  0  0  0
@  'Фиктивное звено 8'
       npu25 111  0  0  0  0  0  0
@  'Фиктивное звено 9'
       npu26 111  0  0  0  0  0  0
@  'Фиктивное звено 10'
       npu27 111  0  0  0  0  0  0
@  'Фиктивное звено 11'
       npu28 111  0  0  0  0  0  0
@  'Фиктивное звено 12'
       npu29 111  0  0  0  0  0  0
@  'Фиктивное звено 13'
       npu30 111  0  0  0  0  0  0
@  'Фиктивное звено 14'
       npu31 111  0  0  0  0  0  0
@  'Фиктивное звено 15'
       npu32 111  0  0  0  0  0  0
@  'Фиктивное звено 16'
       npu33 111  0  0  0  0  0  0
@  'Фиктивное звено 17'
       npu34 111  0  0  0  0  0  0
BL16 NMX NAPR  TUF  KPAR  TDF  KPAR
@   'Измеритель смещения рейки'
       nmx1    1    4   9   53    3
BL17   NSE NPDS1  NUZ1 NPDS2  NUZ2  NMX
@   'Измеритель смещения рейки'
       nse1   p1  p2  p3  p4   nmx1
@   'угол * пер. число рейка/колесо'
       nse2   npu16 1  npu1  1  1
@   'сумматор'
       nse3   npu1 1  npu3   1  1
@   'инвертор - сумматор'
       nse4   npu2 1  npu3   1  1
@   'измеритель - инвертор'
       nse5  nse1 -1  npu2   1  1
@   'Умножитель на коэффициент усиления'
       nse6  npu3  1  npu6   1  1
@   'Сила на рейке - ф.з.'
       nse7  npu6  1  npu4   1  1
@   'Сила на рейке - сумматор'
       nse8  npu4  1  npu23  1   1
$ Поворот руля
@ 'Угол поворота руля - сумматор'
       nse9  npu5 1  npu7   1  1
@ 'Смещение рейки  - угол'
       nse10 nse1 -1  npu8   1 1
@ 'масштабатор - инвертор'
       nse11 npu8 1  npu9   1  1
@ 'инвертор - сумматор'
       nse12 npu9 1  npu7   2  1
@   'Умножитель на коэффициент усиления'
       nse13 npu7  1  npu10  1 1
@   'Момент - ф.з.'
       nse14 npu10 1  npu22  1 1
@   'Момент - колесо'
       nse15 npu11 1  p6   p7  4
$****** вспомогательные действия для вывода *******
@   'Сила на рейке - перевод в момент'
       nse16 npu4  1  npu12 1   1
@   'Момент - ф.з.'
       nse17 npu12 1  npu13 1   1
@ 'Угол поворота руля - умножитель'
       nse18 npu5  1  npu14  1  1
@ 'умножитель - ф.з.'
       nse19 npu14 1 npu15  1  1
@   'угол - ф.з.'
       nse20  p5   1   npu16 1  1
$************************************************
@ 'Скорость поворота руля - сумматор'
       nse21  npu21 1   npu17   1  1
@ 'Скорость рейки  - угловая скорость'
       nse22 nse1 -2  npu18   1  1
@ 'масштабатор - инвертор'
       nse23 npu18 1  npu19   1  1
@ 'инвертор - сумматор'
       nse24 npu19 1  npu17   2  1
@ 'Умножитель на коэффициент усиления'
       nse25 npu17  1  npu20  1  1
@ 'Момент - сумматор'
       nse26 npu20 1  npu22  1  1
@   'Момент - ф.з.'
       nse27 npu22 1  npu11  1  1
@   'Момент - преобразователь в силу'
       nse28 npu22 1  npu24  1  1
@   'приведенная сила - сумматор'
       nse29 npu24 1  npu23  1  1
@   'суммарная сила - ф.з.'
       nse30 npu23  1  npu25 1  1
@   'суммарная сила - рейка'
       nse31 npu25  1  nse1  -1  1
@  'коэффициент усиления привода рейки'
       nse32 npu26  1  npu6   1  1
@  'пер. число рейка/колесо'
       nse33 npu27  1  npu1   1  1
@  'пер. коэф. рад/град'
       nse34 npu28  1  npu8   1  1
@  'коэффициент усиления вращения'
       nse35 npu29  1  npu10  1  1
@  'пер. число рейка/колесо'
       nse36 npu30  1  npu12  1  1
@  'пер. коэф. рад/град'
       nse37 npu31  1  npu14  1  1
@  'пер. коэф. рад/град'
       nse38 npu32  1  npu18  1  1
@  'коэффициент демпфирования вращения'
       nse39 npu33  1  npu20  1  1
@  'пер. число -колесо/рейка'
       nse40 npu34  1  npu24  1  1
@ 'Угол поворота руля - сумматор'
       nse41  p6  p7  npu5   1  4
@ 'Скорость поворота руля - сумматор'
       nse42  p6  p7  npu21   1 -4
BL18  NSS   RPSOST   TFUN   KPAR
@  'коэффициент усиления привода рейки'
      nss1    1       13     3
$      nss1    1        2     1
@  'пер. число рейка/колесо'
      nss2    1        2     1
@  'пер. коэф. рад/град'
      nss3    1        2     1
@  'коэффициент усиления вращения'
      nss4    1        2     1
@  'пер. число рейка/колесо'
      nss5    1        2     1
@  'пер. коэф. рад/град'
      nss6    1        2     1
@  'пер. коэф. рад/град'
      nss7    1        2     1
@  'коэффициент демпфирования вращения'
      nss8    1        2     1
@  'пер. число -колесо/рейка'
      nss9    1        2     1
BL19  NSS   NPDS   NUZ
@  'коэффициент усиления привода рейки'
      nss1    npu26    1
@  'пер. число рейка/колесо'
      nss2    npu27    1
@  'пер. коэф. рад/град'
      nss3    npu28    1
@  'коэффициент усиления вращения'
      nss4    npu29    1
@  'пер. число рейка/колесо'
      nss5    npu30    1
@  'пер. коэф. рад/град'
      nss6    npu31    1
@  'пер. коэф. рад/град'
      nss7    npu32    1
@  'коэффициент демпфирования вращения'
      nss8    npu33    1
@  'пер. число -колесо/рейка'
      nss9    npu34    1
@ 'измеритель смещения рейки'
#tspring.mac nse1
@ 'Момент на руле (Н*м)'
#wkt.mac 3 1 nse17  1  1  3
@ 'Задаваемый угол пов. руля (град)'
#wkt.mac 3 1 nse20 1  1  3
@ 'Реализуемый угол пов. руля (град)'
#wkt.mac 3 1 nse19  1  1  3
$************************************************
$     формальные параметры шага РАСЧЕТ
$ p1  - длина рейки между опорами
$ p2  - передаточное число рейка/колесо (м/рад)
$ p3  - ход рейки в одну сторону
$ p4  - признак управления, 1 - управление есть, 0 - руль свободен
$ p5  - угловая жесткость рулевого вала
BL33    NXAR    PRSOST    PRSL      KSTROK
if p4 == 1 then
  c_priv=1000000.*11
  h_priv=1.
else
  c_priv=0.00001
  h_priv=0.
endif
d_priv=sqrt(c_priv)*9
c_upora=1300000.
c_priv_rul=p5
$@   'Измеритель смещения рейки'
$       nmx1    1        1          3
$        3.0  -p3-1   -c_upora   -p3
$        0.0  p3   0.   p3+1
$        c_upora   0.0  0.   0.
$       nmx1    1        2          1
$        0.4    0.005  0.   0.
@   'Измеритель смещения рейки'
       nmx1    1        1          3
        4.0  -p3-1   -c_upora   -p3
          0.0  p3    0.   p3+1
        c_upora   0.0  0.   0.
       nmx1    1        2          1
        4.04    0.01  0.   0.
$       0.4+d_priv    0.005+h_priv  0.   0.
BL34    NSS      PRSOST      KSTROK
@  'коэффициент усиления привода рейки'
      nss1    1        1
      c_priv       0.        0.40
@  'пер. число рейка/колесо м/град'
      nss2    1        1
      p2/57.295           0.        0.
@ 'пер. коэф. рад/м'
      nss3    1     1
      1./p2        0.        0.
$     0.0174       0.        0.
@ 'коэффициент усиления вращения'
      nss4    1     1
      -c_priv_rul  1        1
@ 'пер. число рейка/колесо м/град'
      nss5    1        1
      p2           0.        0.
$      p2/57.295           0.        0.
@ 'пер. коэф. град/рад'
      nss6    1     1
      57.295       0.        0.
@ 'пер. коэф. рад/град'
      nss7    1       1
      1./p2       0.        0.
@ 'коэффициент демпфирования вращения'
      nss8    1       1
     -sqrt(c_priv_rul)*0.02   1        1
@  'пер. число колесо/рейка'
      nss9    1       1
     -1./p2*0       0.        0.
$' измеритель смещения рейки'
#lspring.mac nse1  p1