SOS: вопросы по приборам на XML — Панели и приборы

9 минут назад, ilya1502 пишет:

А как у вас реализован хронометр полётного времени и кнопка «Старт»?

Да обыкновенно реализован )) — «Механизм» свинчен с дефолтного  B747-400 (MFS2004).

Скрытый текст

       <Element>
      <Position X=»83″ Y=»167″/>
      <Text X=»67″ Y=»27″ Bright=»Yes» Length=»5″ Font=»Quartz» Fixed=»Yes» FontWeight=»800″ Color=»#3AE43A» HilightColor=»Yellow»>
         <String>%((L:Clock Sim Rate, bool))%{if}%((P:Simulation rate, number) d 100 &gt;=)%{if}%!5.1f!%{else}%!5.2f!%{end}%{else}%((L:Clock Chronograph Mode, number) s1)%{if}%((L:Clock Chronograph Accumulated, minutes) l1 1 == if{ (P:Absolute time, minutes) (L:Clock Chronograph Start, minutes) — + } flr)%!5d!%{else}%((G:Var8) 0 == if{ (P:Absolute time, seconds) (&gt;G:Var8) } (G:Var9) (G:Var5) 0 == if{ (P:Absolute time, seconds) (G:Var8) — + } 60 / flr d 60 % r 60 / flr 99 min)%!02d!:%!02d!%{end}%{end}</String>
         <Hilight>
            <SELECT_SIM_RATE Start=»1″ End=»5″/>
         </Hilight>
         <Failures>
            <SYSTEM_ELECTRICAL_PANELS Action=»»/>
         </Failures>
      </Text>
   </Element> 

 

<Area Left=»0″ Top=»149″ Width=»32″ Height=»62″>
         <Area Bottom=»40″>
            <Cursor Type=»Hand»/>
            <Click>(G:Var5) ! (&gt;G:Var5) 0 (&gt;L:Clock Sim Rate, bool) (G:Var5) 0 != if{ (G:Var9) (P:Absolute time, seconds) (G:Var8) — + (&gt;G:Var9) } els{ (P:Absolute time, seconds) (&gt;G:Var8) }</Click>
         </Area>
         <Area Top=»40″>
            <Cursor Type=»Hand»/>
            <Click>10 (&gt;G:Var5) 0 (&gt;L:Clock Sim Rate, bool) 0 (&gt;G:Var9) </Click>
         </Area>
      </Area>

Полагаю тут G-переменные замешаны?

1 hour ago, Казачок said:

Полагаю тут G-переменные замешаны?

Именно.

Здравствуйте!

Вот предположим, должно запустится событие (например, загореться контрольная лампа) при включении  (L:BSKD_MD1, enum) или (L:BSKD_MD2, enum).

Я записываю выражение <Value>(L:BSKD_MD1, enum) || (L:BSKD_MD2, enum)</Value>. Но в таком виде контрольная лампа загорается только при включении (L:BSKD_MD2, enum).

Как мне правильно поставить знак «ИЛИ», что бы событие запускалось при L:1 или L:2 ?


Edited by Казачок

А какие значения принимают эти переменные? С точки зрения логических операций важно только 0 или не 0. Любое ненулевое значение трактуется «не равно 0».

Здравствуйте!

Прошу помощи!

Простейший прибор — цифровой указатель уровня топлива в левом баке. Показывать должен в килограммах. Выдернул из похожего прибора строку, указывающую общее количество топлива в левом и правом баке:

            <Text X=»73″ Y=»17″ Bright=»Yes» Length=»6″ Font=»Arial»
Color=»LightGreen» Adjust=»Center» VerticalAdjust=»Center» Multiline=»No»>
               <String>%((A:Fuel total quantity weight, kilogram)) %!5d!</String>
            </Text>

Работает — Показывает сумму. 

Пытаюсь переписать строку только под левый бак. Например так: 

            <Text X=»73″ Y=»17″ Bright=»Yes» Length=»6″ Font=»Arial»
Color=»LightGreen» Adjust=»Center» VerticalAdjust=»Center» Multiline=»No»>
               <String>%((A:Fuel tank left main quantity weight, kilogram)) %!5d!</String>
            </Text>

— Ничего не выходит. Указатель упорно показывает 0.

Как мне правильно записать строку, что бы указатель показывал топливо в килограммах в левом (правом) баке? 

Неправильно указано имя переменной. Должно быть (A: FUEL TANK LEFT MAIN QUANTITY, kilogram)

Это есть в SDK

17 минут назад, Alexander Belov пишет:

Неправильно указано имя переменной. Должно быть (A: FUEL TANK LEFT MAIN QUANTITY, kilogram)

Это есть в SDK

Большое спасибо, Александр!

Интересно, что такой вариант я записывал. Только при нём прибор всё равно упорно показывает 0. Ни как не пойму — в чём дело?

А сам бак существует? Он в aircratf.cfg прописан?

38 минут назад, Alexander Belov пишет:

А сам бак существует? Он в aircratf.cfg прописан?

Да, конечно.

[Fuel]

fuel_type               = 2
number_of_tank_selectors= 2
electric_pump           = 1
//
// 6.7 lbs/gal; -> 3.04liters/Gal -> (1Gal=3.786liters) -> Ro~0.8
//
LeftMain = -7.3, -14.0, -0.6, 2055.0, 66.0
RightMain= -7.3,  14.0, -0.6, 2055.0, 66.0
//aav
//Center1  = -7.3,   0.0,  0.0,  539.6, 3.0    //Max fuel wgt 27,025 lb — Ref 1
//LeftMain = -7.3, -14.0, -0.6, 1747.0, 3.0
//RightMain= -7.3,  14.0, -0.6, 1747.0, 3.0

И сумму-то правильно показывает…


Edited by Казачок

Вообще, полезно иметь хотя бы один центральный бак, пусть и символической емкости, хоть 1 галлон. Есть такая глюка — без центрального бака дефолтная топливная система может работать некорректно.

Можно попробовать вписать эту переменную в любую точно и гарантированно работающую строку. Это чтобы проверить, нет ли ошибки в строке вывода.

Спасибо!

Попробую.

Да…

Добавление центрального бака ничего не даёт — Указатель топлива всё равно 0 показывает. И вообще с килограммами топливо по бакам показывать никак не хочет — Только сумму.

Пришлось прибор кормить литрами, умноженными на коэффициент 0,8. Работает.

Вот ещё вопрос:

На некоторых самолётах реализовано переключение управления передней стойкой шасси: Разбег (пробег) — Руление. Например Ан-12, Ил-18 (кажется). Там этот тумблер в GAU-архив зашит (автор — Степан Грицевский) и поковыряться в нём не получится, на сколько я знаю.

Возможно ли такой тумблер на XML реализовать?


Edited by Казачок

А что этот тумблер должен делать?

В 10.03.2018 в 22:45, Alexander Belov пишет:

А что этот тумблер должен делать?

Приветствую!

На сколько я понимаю, он при рулении разрешает поворачивать передней стойке шасси, а при разбеге — пробеге блокирует её (работает только  руль направления на киле).

Так это уже на дефолтном DC-3 сделано. Хвостовое колесо блокируется на разбеге. Вот этот кусок кода (файл ecu.xml):

————————————————————————————— линия отреза

    <!— Tailwheel Lock —>
    <Area Left=»182″ Top=»264″ Width=»32″ Height=»72″>
      <Cursor Type=»Hand»/>
      <Tooltip ID=»TOOLTIPTEXT_TAILWHEEL_LOCK»/>
      <Click Event=»TOGGLE_TAILWHEEL_LOCK»/>
    </Area>

————————————————————————————— линия отреза
    

Спасибо!

Сегодня посмотрю. Надеюсь, всё получится.

Добрый вечер!

В очередной раз вынужден попросить помощи у коллег…

Может кто подсказать: Какой переменной можно определить в FS9 наличие или отсутствие сигнала радиостанции NAV1 (VOR/DME)?

Для ADF  я вроде нашел  — (A:Adf signal:1,number). А вот для  NAV1 пока не получается….

Переменная (A:NAV HAS NAV, bool) нам поможет. Если сигнал есть, она принимает значение «истина».

32 минуты назад, Alexander Belov пишет:

Переменная (A:NAV HAS NAV, bool) нам поможет. Если сигнал есть, она принимает значение «истина».

Спасибо!))

В 04.11.2020 в 19:57, Казачок пишет:

 

Там ещё есть интересные штуковины (А:NAV HAS DME:index) определяющая наличие DME в передатчике. (А:NAV TOFROM:index)   (0 = Off; 1 = TO; 2 = FROM). (А: NAV DME:index) дистанция до DME. Всё есть тут http://www.prepar3d.com/SDKv5/LearningCenter.php. и большинство переменых не помеялись со времён 9-ки.


Edited by KAI31

3 часа назад, KAI31 пишет:

… большинство переменых не помеялись со времён 9-ки.

Спасибо! Ценная информация!

Всем привет! Подскажите, как прописать в приборе ввод числа? К примеру возьмём пульт радио и вместо частоты радиосвязи или ответчика вводим с пульта произвольное число? Сразу прошу извинения за возможно тупой вопрос. :)

3 часа назад, sergunek пишет:

Всем привет! Подскажите, как прописать в приборе ввод числа? К примеру возьмём пульт радио и вместо частоты радиосвязи или ответчика вводим с пульта произвольное число? Сразу прошу извинения за возможно тупой вопрос. :)

Зачем в пульт радиосвязи который работает с определённым набором и диапазоном частот выраженных в числах впихивать ещё какие-то произвольные числа? И чаще всего в таких радиостанциях используются переключатели для набора от [  ] до [  ], а не кнопки.

Если вы пишите на xml, посмотрите примеры, они открыты для чтения и их огромное количество.


Edited by KAI31

2 часа назад, KAI31 пишет:

Если вы пишите на xml, посмотрите примеры, они открыты для чтения и их огромное количество.

Спасибо за быстрый ответ. Скиньте ссылку на примеры. Мне необходимо протестить вычислительный блок на xml. Доступные cabы сима просмотрел, не нашёл, то что мне необходимо для применения произвольной L: переменной. 

4 часа назад, sergunek пишет:

Спасибо за быстрый ответ. Скиньте ссылку на примеры. Мне необходимо протестить вычислительный блок на xml. Доступные cabы сима просмотрел, не нашёл, то что мне необходимо для применения произвольной L: переменной. 

Да хоть вот тут https://www.avsim.su/f/fs2004-originalnie-samoleti-40/, материалов для исследования более чем.