Мануал по JSBSim
Материал из FlightGear
Компонент "Переключатель"
Компонент "Переключатель" моделирует переключатель - типа вкл/выкл или вращающийся выключатель с несколькими вариантами выбора. Переключатель может представлять реальный выключатель в кабине или же служить логическим ключём, использующим несколько условия для изменения состояния. Значение переключателя (выходное значение) зависит от состояния переключателя. Каждый переключатель содержит два или более логических тестов. Первый тест, который вычисляется как истина устанавливает выходное значение переключателя в соответствии со значением параметра, принадлежащих к этой проверки. Каждый тест содержит одно или несколько условий, которые должны быть логически связаны между собой (если условий более одного), заданное значение логического параметра, и имеет вид:
свойство условие свойство|значение
например
qbar GE 21.0
или
roll_rate < pitch_rate
Внутри теста, могут быть определены дополнительные тесты, которые допускают сложные группировки логических сравнений. Формат компонента "Переключатель" следующий:
<switch name="name">
<default value="свойство|число"/>
<test logic="AND|OR" value="свойство|число">
{свойство} {условие} {свойство|значение}
…
[<test logic="AND|OR" value="свойство|число">
{свойство} {условие} {свойство|значение}
…
</test>]
</test>
…
[<clipto>
<min> число|свойство </min>
<max> число|свойство </max>
</clipto>]
{<output> свойство </output>}
</switch>
Пример:
<switch name="Roll A/P Autoswitch">
<default value="0.0"/>
<test value="fcs/roll-ap-error-summer">
ap/attitude_hold == 1
</test>
</switch>
Приведенный выше пример указывает, что значение по умолчанию компонента (то есть выходное свойство компонента, адресованное свойству, ap/roll-ap-autoswitch) равно 0,0, если или когда выбран переключатель стабилизации положения (свойству ap/attitude_hold присвоено значение 1), значением компонента переключатель будет любое значение fcs/roll-ap-error-summer. Для компонента переключатель отсутствует элемент <input>.
Компонент "Сумматор"
Компонент "Сумматор" суммирует два или более входа. Смещение может также быть добавлено при использовании ключевого слова bias. Формат компонента "Сумматор" следующий:
<summer name=”имя”>
<input> [-]свойство </input>
…
<bias> число </bias>
[<clipto>
<min> число|свойство </min>
<max> число|свойство </max>
</clipto>]
[<output> свойство </output>]
</summer>
Отметим, что в случае входного свойства, имени свойства может непосредственно предшествовать знак минус.
Вот пример спецификации компонента сумматор:
<summer name=”fcs/pid_sum”>
<input> velocities/p-rad_sec </input>
<input> -fcs/roll-ap-wing-leveler </input>
<input> fcs/roll-ap-error-integrator </input>
[<clipto>
<min> -1.0 </min>
<max> 1.0 </max>
</clipto>
</summer>
Заметьте, что может быть только одно заявление смещения на компонент.