Как включить автопилот в x plane 11

PPL(3)
![]()
Зарегистрирован:
07.10.2010 11:43
Из: UIII — Иркутск
Группа:
Пилоты
Уровень : 11
HP : 0 / 260
MP : 51 / 10095

Всем доброго времени суток.
Хотелось бы узнать азы управления автопилотом, ибо все время куда-то не туда рулит. =)
Отправлено: 08.10.2010 7:32
Re:: Автопилот

CPL(3)
![]()
Зарегистрирован:
15.04.2010 7:51
Из: Санкт-Петербург
Группа:
Модераторы
Пилоты
Уровень : 18
HP : 0 / 443
MP : 135 / 17806

Зависит от самолёта. Так что признавайся, как на духу: что за сим, что за самолёт и где его брал, как включаешь автопилот.
Или дождись вечера (15-16Z) и в мамбле уже поболтаем.
Отправлено: 08.10.2010 8:33
Re:: Автопилот

PPL(3)
![]()
Зарегистрирован:
07.10.2010 11:43
Из: UIII — Иркутск
Группа:
Пилоты
Уровень : 11
HP : 0 / 260
MP : 51 / 10095

Сразу оговорюсь, летаю 3 дня=)
Что такое сим?=) Симулятор? XP 9.6
2 дня летал на цесне, там как-то худо-бедно автопилот у меня работал, хотя все равно крутил в разные стороны=))
Сегодня пробовал летать на кинг эире, там вообще запустить не получилось=)
Самолеты шли вместе с диском. Для начала думаю лучше разобраться с цесной.
Выставлял на NAV1 ILS полосы на которую хочу сесть (с ILS, естественно мне тоже пока не все ясно) так же ADM на маяк напротив ВПП.
Выставлял курс на . не помню как называется прибор, там самолет нарисован и два регулятора, SYN и HDG (подозреваю что фокус именно в них 🙂 )в общем не хотел самолет лететь по курсу, который я ставил на этом приборе (как называется кстати?).
По поводоу мамбла, не смог подключиться, где-то прочитал что надо чтоб пароль дали, написал администрации сайта через «Контакты».
Жду ответа=)
Задай глупый вопрос и ты дурак на пять минут. Не задай глупый вопрос и ты дурак на всю жизнь.
Китайская пословица.
Отправлено: 08.10.2010 23:08
Re:: Автопилот

CPL(3)
![]()
Зарегистрирован:
14.07.2008 18:07
Из: г.Красноярск
Группа:
Пилоты
Уровень : 9
HP : 0 / 210
MP : 36 / 9510

Записывайся на тренировку, всё расскажем 😉

Отправлено: 09.10.2010 0:23
Re:: Автопилот

PPL(3)
![]()
Зарегистрирован:
07.10.2010 11:43
Из: UIII — Иркутск
Группа:
Пилоты
Уровень : 11
HP : 0 / 260
MP : 51 / 10095

С удовольствием, только где это сделать? На форуме вроде ничего не видел ++++ хочу попасть в мамбл! Может кто-нить пароль выслать в личку? Или кто может меня в скайпе проконсултировать?
Задай глупый вопрос и ты дурак на пять минут. Не задай глупый вопрос и ты дурак на всю жизнь.
Китайская пословица.
Отправлено: 09.10.2010 0:41
Re:: Автопилот

CPL(3)
![]()
Зарегистрирован:
14.07.2008 18:07
Из: г.Красноярск
Группа:
Пилоты
Уровень : 9
HP : 0 / 210
MP : 36 / 9510

Оставляй заявку в Учёбный центр, можешь дополнительно связаться с Учебкой по аське, которая на главной странице есть.
Отправлено: 09.10.2010 2:44
Re:: Автопилот

PPL(3)
![]()
Зарегистрирован:
07.04.2007 15:39
Из: Ставрополь-URMT/Волгоград-URWW
Группа:
Пилоты
Кадры
Уровень : 22
HP : 0 / 539
MP : 202 / 26408

Отправил реквизиты мамбла на почту.
Отправлено: 27.10.2010 8:37
Re:: Автопилот Boieng — 737-800
Пример работы автопилота B-737 Взлет-Круг-Посадка
Пишу простым языком ибо для тех кто хочет сразу разобраться.
Допустим: Домодедово.Полоса 14 R. Данные по схеме курс 137.3
ILS 110.10
Курс для разворота 317
Переходим к автопилоту
1: Автопилот тяги ON OFF
2: Speed on Удерживание так сказать оборотов двигателя))выставленных в окошке IAS /MACH
3: Автопилот навигации
4: Курс
5: Удерживание курса при включенном CMD
6: Установка высоты
7: Удерживание вертикальной скорости
8: Установка вертикальной скорости Снижение набор высоты
Выставляем данные для автопилота
Курс 137
Heading On
Высота 2800
Вертикальная скорость 1500
V/S ON
A/T ARM ON
Тяга 220
Speed ON
Закрылки на одно деление
взлетаем.
Шасси,Закрылки
нажимаем CMD
идем по курсу. набор высоты
разворачиваемся на курс 317(крутим ручку 4 влево до 317)
Идем по курсу 317 высота 2800 полоса видна в левом окне
Теперь выходим на курc ВПП с которой взлетали
выставляем курс 137 ,высоту можно поставить 2600 с вертикальной скоростью — 500
После выхода на курс нажимаем кнопку F/D (1)для ловли луча ВПП
кнопку VOR(Ловит курс ВПП)горит зеленым
далее идем по курсу ловим Глиссаду (розовые ромбики(3),когда они будут примерно по центру )Жмем APP (4)
Если APP срабатывает скорость можно снижать 1000м 160-400м 150(шасси закрылки соответственно уже в наличие)
Метров за 30 Автопилот отключится дальше в ручную!!
Прикреплённый файл:
![]()
screenshot_10.jpg (352.97 KB)
![]()
screenshot_30.jpg (313.10 KB)
![]()
screenshot 20.jpg (304.28 KB)
![]()
screenshot_40.jpg (327.32 KB)
![]()
screenshot_50.jpg (219.66 KB)
![]()
screenshot_60.jpg (223.38 KB)
![]()
screenshot_70.jpg (296.62 KB)
![]()
screenshot_80.jpg (298.08 KB)
Как включить автопилот в x plane 11

PPL(3)
![]()
Зарегистрирован:
13.11.2008 10:30
Из: Алматы (UAAA)
Группа:
Пилоты
Уровень : 10
HP : 0 / 248
MP : 47 / 10987

Други, горе у меня.
долгое время не летал, и вот, найдя время решил сдуть пыль с джоя, но не тут то было. загрузил любимый бобик, нактрутил все, что необходимо, запустился, вырулил, взлетел и начались проблемы: не активируются кнопочки HDG, V/S, ALT, A\TRL — первая мысля — глюк самолета, попробовал другой, третий — все безуспешно.
СИМ не обновлял.
кто знает как это лечится, если лечится вообще
Глупо пытаться докопаться до глубокой мысли, вместо того, чтобы возвыситься до неё
Отправлено: 12.04.2015 10:13
Re: проблема с автопилотом
![]()
Зарегистрирован:
22.09.2010 12:29
Из: Амурская область, г.Благовещенск
Группа:
Курсанты
Уровень : 20
HP : 0 / 475
MP : 155 / 18471

Не стал создавать новую ветку.
Вопрос задам тут. Может кто ответит и подскажет.
Проблема тоже с автопилотом на одной из моделей. После любого изменения курса самолет долго приходит в равновесие. По ЛЗП идет строго, но при этом «машет крыльями» — то одно поднимет, то другое.
Какой параметр в Plane Maker изменить, чтобы убрать эти качели — может весь полет длиться такой атракцион.
(что-то с креном)
качели очень заметные, даже в CAVOC
Самолет прекрасно летает сам, если ему не мешать.
Отправлено: 13.04.2015 9:32
Re: проблема с автопилотом

PPL(3)
![]()
Зарегистрирован:
07.04.2007 6:44
Из: URMM (UKOO)
Группа:
Вебмастеры
Администраторы
Пилоты
Уровень : 26
HP : 0 / 628
MP : 283 / 30769

Юра! Надо менять модель )). На какой-то экзотике летаешь?
И давайте научимся уже грамотно излагать суть проблемы. Мы же не первый день тут в большинстве.
— Модель такая-то (версия если есть, плагины в модели)
— Версия сима такая-то
— ещё что-то если относится к теме
Настройки автопилота:
Plane-Maker -> Expert -> Artificial Stability -> Autopilot -> настройка крена средний фрейм

Отправлено: 14.04.2015 0:51
Re: проблема с автопилотом
![]()
Зарегистрирован:
22.09.2010 12:29
Из: Амурская область, г.Благовещенск
Группа:
Курсанты
Уровень : 20
HP : 0 / 475
MP : 155 / 18471

Это пресловутый SSJ100 от рамзеса, летаю не я, мой приятель, у него принцип, которого он пока придерживается — летать только но российской технике, и хотя он понимает, что SSJ100 — это конструктор в котором не мало иностранного,все равно для него это на данный момент лучшая российская модель.
X-plane 10.35 x64
SSJ v5.14.04
Там я и ковырялся. Я поменял ошибку крена с 016 на 050.
Просто думал — «Что я делаю с летной моделью ?!»
Теперь летит как утюг по столу.
Но все равно спасибо, за ответ.
Самолет прекрасно летает сам, если ему не мешать.
Отправлено: 14.04.2015 4:24
Re: проблема с автопилотом

PPL(1)
![]()
Зарегистрирован:
11.07.2012 7:45
Из: Россия, Москва
Группа:
Пилоты
Уровень : 6
HP : 0 / 147
MP : 21 / 4947

С этой моделью давно проблемы. Уже сколько писали на x-plane.org, разраб вообще забил на это дело.
Кстати, друзья, после крайнего обновления x-plane заметил такую неприятную вещь, которую вроде бы давно победили разработчики. При полетах с погодой онлайн предоставляемой именно x-plein ом, происходит резкая смена условий, что приводит к тому что самолет нереально раскачивается, естественно отрубается автопилот и зачастую останавливаются двигатели. замечено на 732 от flyjsim. Никто не замечал такого?
Отправлено: 14.04.2015 7:16
Re: проблема с автопилотом

PPL(3)
![]()
Зарегистрирован:
07.04.2007 6:44
Из: URMM (UKOO)
Группа:
Вебмастеры
Администраторы
Пилоты
Уровень : 26
HP : 0 / 628
MP : 283 / 30769

При полетах с погодой онлайн предоставляемой именно x-plein ом
Надо бы уточнить:
1. При полётах онлайн (с X-IvAp) с погодой от x-plane
2. При полётах с погодой x-plane не в онлайн (без X-IvAp)
замечено на 732 от flyjsim
Так, а при таких же условиях на других моделях такое происходит?

Отправлено: 14.04.2015 10:26
Re: проблема с автопилотом

PPL(1)
![]()
Зарегистрирован:
11.07.2012 7:45
Из: Россия, Москва
Группа:
Пилоты
Уровень : 6
HP : 0 / 147
MP : 21 / 4947

При полётах онлайн (с X-IvAp) с погодой от x-plane (режим в котором x-plane подгружает реальную погоду).
На других моделях пока не проверял.
Раньше был такой баг в более ранних версиях 10 x-plane. Там вообще с погодой черти чего творилось. Была очень долгая переписка с Laminarом, наверное в течение месяца с ними письмами обменивались и баг поправили. Сейчас опять такое обнаружил. Не при каждой подгрузке погоды такое происходит, но несколько раз было, поэтому трудно одномементно это повторить. Думаю что если этот баг вернулся, то проявится рано или поздно у всех, кто летает с реальной погодой от x-plane. Если никто с этим не сталкивался, то может проблема проявилась конкретно у меня. Хотя никаких настроек не менял, новых плагинов не ставил.
Отправлено: 14.04.2015 15:14
Re: проблема с автопилотом

PPL(3)
Как включить автопилот в x plane 11
![]()
5 мая. 2018 в 16:10
Автор сообщения: debil
не могу понять как пользоваться автопилотом.
Стандартный 747 достаточно глючный. Когда я летал на нем в последний раз, на нем не работала глиссада и автопосадка.
Касательно полёта-тут все как везде на боингах. Убедись, что включены флайт директоры (FD), выстави скорость и нажми на кнопку автогаза, включи кнопки LNAV/VOR LOC или выбери направление (градус) вручную и нажми HOLD, выстави высоту и нажми на HOLD или при необходимости вертикальную скорость (VS) и соответствующую кнопку под крутилкой. Чтобы автопилот начал сам пилотировать нажми на кнопку CMD, распологающиюся на панели автопилота, со стороны второго пилота.
Лучше всего глянуть пару гайдов на ютюбе.
Автор сообщения: Ðŗąçø
Оказывается, автопилот прослушивался и фиксируется в кандидате 4-го выпуска.
Draco, the translator you’re using is translating your sentence into nonsense in Russian 😉
![]()
7 мая. 2018 в 13:32
Спасибо за ответ! Проверьте пожалуста у себя. На панели автопилота есть кнопки-крутилки скорости и высоты. У меня их можно только крутить. А везде пишут что они должны еще и нажиматься. Нажимается только кнопка HDG. Так и должно быть?
![]()
7 мая. 2018 в 13:33
И еще: есть платный 747-800 на сайте. Тут его нет. Это значит что для steam его купить нельзя?
![]()
7 мая. 2018 в 14:06
Автор сообщения: debil
И еще: есть платный 747-800 на сайте. Тут его нет. Это значит что для steam его купить нельзя?
Да. Он будет работать с версией Steam.
![]()
9 мая. 2018 в 8:26
Автор сообщения: Ðŗąçø
Автор сообщения: debil
И еще: есть платный 747-800 на сайте. Тут его нет. Это значит что для steam его купить нельзя?
Да. Он будет работать с версией Steam.
Непонятно. Купить нельзя, но работать будет? Как поступить? Купить в стороннем магазине и утсановить вручную?
![]()
9 мая. 2018 в 9:18
Автор сообщения: debil
Автор сообщения: Ðŗąçø
Да. Он будет работать с версией Steam.
Непонятно. Купить нельзя, но работать будет? Как поступить? Купить в стороннем магазине и утсановить вручную? http://store.x-plane.org/Boeing-747-8-Series_p_345.html
Этот 747 работает с Steam.
![]()
9 мая. 2018 в 15:38
Платные самолёты с xplane org store работают и со стим версией и с не стим версией симулятора. Так же у них есть плюс — с высокой долей вероятности их можно будет использовать и в следующей версии симулятора, хотя появится она ещё не скоро. Большинство самолётов не доступно в стиме, потому что разработаны сторонними разработчиками, а они в свою очередь не выкладывают их в стиме. В орг сторе покупал самолёты, всё нормально, работают, обновляются (вручную или автоматически, зависит от разработчика).
Могу порекомендовать Flight Factor, как отличного разработчика самолётов. Их продукция имеет хорошую лётную модель и проработанную систему навигации.
На панели автопилота в 747-400, на сколько я помню, крутилки не нажимаются. Выбор подтверждается нажатием кнопки под или рядом с крутилкой. Завтра посмотрю, что там и как.
Если будет интересно полетать на чем-нибудь полегче, могу порекомендовать бесплатную модификацию Zibo 737-800, доступную на сайте xplane.org. Она отличается от стандартного самолёта высокой степенью проработанности бортовой навигационной системы, возможностью установки более реалистичных звуков ( бесплатно ) и другими улучшениями.
![]()
10 мая. 2018 в 5:52
Автор сообщения: debil
Спасибо за ответ! Проверьте пожалуста у себя. На панели автопилота есть кнопки-крутилки скорости и высоты. У меня их можно только крутить. А везде пишут что они должны еще и нажиматься. Нажимается только кнопка HDG. Так и должно быть?
На панели автопилота все переключатели работают ( IAS/Mach, HDG, Vert SPD, ALT), правда большинство крутятся либо кликом ЛКМ, либо колесом мыши.
Скорость (IAS/Mach) подтверждается нажатием кнопки SPD, переключаетль A/T должен быть в положении ARM.
Направление выбирается переключателем HDG, смена производится нажатием на кнопку SEL, располагающейся прямо на крутилке. Для удержания направления можно нажать кнопку HOLD.
Подтверждение удерживаемой высоты производится нажатием кнопки HOLD под крутилкой ALT.
Полёт в режиме LNAV/VNAV не проверял. Глиссада работает корректно.
Проверка была выполнена в международном аэропорту Гон-Конга (ICAO: VHHH)
Если какие-то тумблеры не работают — рекомендую проверить правильность влючения систем самолёта ( если запуск производится с «нуля»). Во время проверки у меня были переведены в правильное положение тумблеры системы IRS, была включена система YAW Damper. Также были включены тумблеры Flight Director (FD) со стороны капитана и второго пилота, переключаетль A/T был в положении ARM.
Если всё выставленно правильно, но проблема остаётся рекомендую:
1) Загрузить стандартный 737й, потом вновь 747й.
2) Если не помогло — почистить папку preferences (\Steam\steamapps\common\X-Plane 11\Output\preferences), предварительно сохранив (забэкапив) настройки графики и джойстиков.
Как мы строили авиатренажер A320: история в картинках (ч.1)
В прошлом посте я написал о бесценном опыте, полученном при строительстве авиатренажера Boeing B737NBG.
С того поста случилось много разных событий, в частности, Боинг наш пережил капитальный ремонт в режиме цейтнота, и вот наконец у меня дошли руки до написания поста про Аирбас А320.
Я разобью пост на два — один будет в основном про ИТ, а второй — в основном про этапы строительства, со слайдами.
Вводная
- К нам ехали заказанные и изготовленные подвижная платформа и кабина
- Обшивка находилась в производстве
- Заканчивалось проектирование силового каркаса
- Были закуплены и уже стояли на складе проекторы
Первым делом, как это ни странно, я взялся рисовать ИТ-инфраструктуру.
ИТ-инфраструктура
В голове все было просто: в качестве симулятора у нас X-Plane 10 с его возможностями искривлять изображение под цилиндрическую проекцию.
Нужно масштабирование — значит будет пять серверов: один обсчитывает динамику, три — формируют изображение для трёх проекторов, четвертый — генерит картинку для системы видеозаписи роликов для клиентов.
Компоненты Project Magenta занимаются почти всем остальным.
ProjectMagenta
- Рисование картинок на экранах кабины — Airbus Glass Cockpit, ABGC

- Обсчет работы самолётных систем — pmSystems

- Реализация работы Flight management and guidance system — MCDU

- Автопилот. Реализован в модуле Flight control unit, FCU

- Электро-дистанционная система управления самолётом, по-нашему, Fly-By-Wire. Она-же обеспечивает интерфейс с органами управления — сайдстиками, педалями, ручками управления двигателями и т.п. Кроме этого, именно в этом модуле заложены «законы», препятствующие слишком большим кренам, опасным тангажам и прочему — Flight Control Laws — pmFBW

- Звуки — куда уж без них. pmSounds
Вроде ничего не забыл.
Система сдержек и противовесов
Проектирование инфраструктуры получалось из совокупности ограничений и опыта Боинга.
Одна из проблем из опыта с Боингом — сервера в стойке страшно пылятся, потом начинают перегреваться. Значит наиболее нагруженные компьютеры — а это X-Plane — должны стоять в серверной.
Тянуть USB из кабины — увольте, значит должны быть бортовые компьютеры.
Если они на борту подвижной платформы, значит они либо с SSD, либо бездисковые. SSD на моей памяти два раза перегрелся, поэтому будем познавать бездисковую загрузку. Весь «бортовой» софт у нас под виндой, значит это будет iSCSI.
Загрузить 6 компьютеров по сети — нужна пропускная способность, значит свичи у нас должны быть с поддержкой транков. Выбор пал на D-Link DGS-1210-16.
X-Plane будет несколько, и сценарии на них должны совпадать, плюс еще и iSCSI, бэкапы и т.д., значит должен быть файлсервер, а точнее — NAS. По соотношению «цена-качество» подошел Synology RS-812+ с апгрейдом памяти до 3Гб. Заодно он поддерживает транки.
Серверная должна быть чистой, то есть дверь в нее должна быть закрыта, значит максимально реализуем удаленный доступ, значит должен быть IP KVM (в реальности он пригодился один раз, в основном пользуемся VNC).

Кроме этого, совсем не улыбается залезать в закабинное пространство где находятся бортовые компьютеры, поэтому нужно по крайней мере уметь их включить и выключить. Значит нужно железобетонно работающее устройство, позволяющее нажать кнопку «Power». Оно было заказано знакомому электронщику, после ряда итераций получилось устройство с Eth, которое может «нажать» кнопку питания.
Выглядит оно так:
Верхняя плата — «мастер», к ней по RS-485 подключаются «ведомые». На каждом «ведомом» — 8 каналов, в каждом из каналов — два дискретных входа (для подключения светодиодов питания и HDD) и один выход — для кнопки Power.
Проекторы у нас стоят дорогие и редкие, выключать их без предварительного охлаждения нельзя, но если пропало входное напряжение, то нужно автоматом, не полагаясь на людей выключить и проекторы и бортовые компьютеры. Значит нам нужны UPSы с сетевым интерфейсом, у проекторов и так он есть, его нужно просто задействовать.

В общем, в результате пары недель проектирования получилась вот такая схема:
Бортовые компьютеры у нас на Celeron G540 2.5ГГц с 4 Гб памяти и видеокартой Low profile на чипе Radeon HD 6450, с гигабайтом памяти.
Графические сервера для X-Plane — Core i5-3470 c 8Гб RAM и двумя 500Гб дисками в зеркале. Для рисования картинки стоят GeForce GTX 670 c 2048Мб. В качестве операционки у нас Ubuntu 12.04 LTS 86_64, теперь и X-Plane стоит 64-битный.
Сервер что обсчитывает динамику — под Win7_32 на Core i7-3770, используется встроенная видеокарта. X-Plane тут 32-битный, и сервер под виндой потому, что плагин для интерфейса с подвижной платформой есть только под 32-бита и под винду.
Кабели и провода
Сверхцелью было построить тренажер так, чтобы в кабину входили только витые пары и силовые кабели. Так и получилось в конечном итоге.
В кабину снаружи идет силовой кабель 220В, две витые пары для соединения свичей (транк), три витые пары для удлинителей HDMI и еще одна витая пара для пульта управления трапом и платформой.
Удлинители я использовал Hama HDMI, со своей задачей они справляются.
Витая пара везде — CAT6 FTP.
Отдельно стоило бы написать как мы решили исхитриться и протянуть наши витые пары в уже имеющейся трубе между шкафом и подвижной платформой. Это была дурацкая затея даже с использованием кабельной смазки, к тому-же потом я все равно протянул еще две трубы.
Электричество
В Боинге мы столкнулись с проблемой неправильной электрической сети, поэтому в этот раз я сел рисовать однолинейную схему (не могу ее найти).
Идея была в том, что мы защищаем автоматами все линии, плюс мы защищаем от поражения током людей.
Расчеты нагрузки показали, что на всю кабину (проекторы, компьютеры, контроллеры ввода-вывода, бортовая вентиляция, свич) достаточно 3000ВА.
На 5 серверов, NAS, свич и KVM тоже нужно примерно столько-же.
На наружние вентиляторы кабины, инструкторскую станцию и привод трапа нужно меньше 1500ВА, поэтому пригодились старенькие 1500 SmartUPS
Итого UPSов стоит четыре — два Ippon Smart Winner 3000 VA с дополнительным блоком батарей, и два 1500VA SmartUPS, оставшиеся от одной из итераций улучшения Боинга.
На одном трёхкиловаттнике висит серверная, на другом — вся кабина. На одном 1500 висит вентиляция кабины и инструкторская станция, ну и еще один — в запасе.
Учитывая наличие автономных источников энергии (UPSы), УЗО для защиты людей стоят после ИБП, т.е. бесперебойники у нас «привязаны» к щиту.

Вентиляция и кондиционирование
Серверная у нас совсем небольшая, около 5 квадратных метров, и туда выделяется 2кВт тепла от стойки и еще, наверное, 1кВт от шкафа управления платформой. Значит будем вешать кондей.
Кондей был выбран Samsung AQ12TSBN, у него производительность по холоду около 3.5кВт. Монтаж я сделал сам, благо инструменты и оборудования было закуплено до этого и использовалось для монтажа кондеев на даче.
Лето показало правильность выбора, температура в серверной колебалась около установленных 19 градусов.
Дурацкой ошибкой было повесить внутренний блок над электрическим щитом, поэтому пришлось уделить особое внимание дренажу. Тьфу-тьфу, эксцессов не было, но к следующему лету я установлю дренажный насос, чтобы уж точно.
В кабине с вентиляцией дело обстоит не так просто.
У нас есть два объема — собственно кокпит, в котором сидят люди, и закабинное пространство, в котором стоят утюги-проекторы и компьютеры.
С самого начала мы решили, что кондиционирования делать не будем — слишком много проблем с конденсатом.

В закабинном пространстве сделаны приток и вытяжка малошумными вентиляторами с производительностью в районе 250 кубов в час. Приток сделан в место установки компьютеров

Вытяжка — около проекторов, в верхней точке (пардон за качество фотки)
На самом деле, не мешало бы еще воткнуть вентилятор в отверстие в «крыше», но температурные замеры не показывают такой необходимости.

Чтобы воздух циркулировал в кабине, снаружи стоит большой 2000-кубовый нагнетательный вентилятор, ну а вытяжка делается двумя последовательно стоящими сайлентами из под ног:
Изначально по расчетам я ошибся с выбором вентиляторов, 2000-кубовый нагнетатель появился позднее, вначале стояли 250-кубовые сайленты.
Даже с 2000 вентилятором в кабине бывает жарко, поэтому мы подумываем, как можно еще улучшить систему.
Костыли, костылики и костылищи
С самого начала было понятно, что даже «полочные» продукты нужно будет оборачивать многочисленными костылями.
- Синхрнизация общих данных X-Plane
- Автоматизация включения-выключения проекторов
- Перезапуск сбойнувших компонентов Project Magenta
X-Plane: синхронизация и запуск
Для синхронизации данных X-Plane в итоге выбран rsync с NASа.
Я пробовал запускать прямо с NFS-шары, но учитывая что у нас и Винда и Линукс, а еще структура каталогов X-Plane, по-моему, в пьяном бреду придумана, я решил что конфигурация у каждого — своя, а сценарии и общие данные синхронизируются по сети каждый раз когда запускается или перезапускается X-Plane.

Кстати, по мере проработки идеи с запуском X-Plane прямо с шары, я дошел до того, что редактировал бинарник, чтобы все файлы, открываемые для записи, находились в одной директории. Вот картинка из этого этапа:
Все было успешно закончено, и через два дня вышел апдейт. После этого я решил делать rsync.
Скрипт для запуска получился вот таким:
#!/bin/bash LOGFILE="/var/log/xplane-starter.log" log_msg () < DATE=`/bin/date` /bin/echo "$DATE: $@" >> $LOGFILE > log_msg "Starting xplane-startup.sh" while [ 1 ]; do log_msg "Rsyncing" /root/bin/rsync_64.get >> $LOGFILE /bin/sed -i".bak" '/UNSAFE/d' "/xplane.64/Output/preferences/X-Plane Screen Res.prf" /usr/bin/pactl set-card-profile 'alsa_card.pci-0000_01_00.1' 'output:hdmi-stereo-extra1' /usr/bin/xinit /root/bin/xinitrc.64 >> $LOGFILE 2>&1 & XINIT_PID=$! log_msg "xinit pid = $XINIT_PID" while [ 1 ]; do sleep 1 # Check that the process is still alive if [ -e /proc/$ -a /proc/$/exe ]; then sleep 1 else log_msg "Process dead, restarting" break fi done done
Поскольку X-Plane’у совершенно не нужен оконный менеджер, то собственно запуск делается через xinit:
/usr/bin/xsetroot -cursor_name top_left_arrow DISPLAY=:0.0 /usr/bin/X11/xset s 0 DISPLAY=:0.0 /usr/bin/X11/xset s noblank /root/bin/shm_wipe.sh /usr/bin/x11vnc -display :0 -ncache 10 -many & umask 0000 /xplane.64/X-Plane-x86_64 --no_crash_reporter /usr/bin/killall -9 x11vnc
shm_wipe.sh — моя лень. Периодически x11vnc перестает запускаться из-за исчерпания shared memory, поэтому в инетах найден рецепт поиска и «отвязывания» неиспользуемых сегментов.
Дополнительно через cron делается перезагрузка X-Plane ранним утром, бо есть в нем утечки памяти. Кроме этого, ночью на всякий случай дается команда на выключение проекторов.
На Винде не все так кошерно, rsync-синхронизацию я делаю периодически руками…
Мониторинг бортового компьютера
Чтобы бороться с подвисающими компонентами ProjectMagenta, на бортовом компьютере написан целый скрипт на PowerShell, да еще и с элементами .NET.
Начался скрипт с детектирования сбойнувший USB-устройств, а дальше оброс уже всем остальным.
До кучи через этот скрипт осуществляется запуск компонентов, и проверка, не выпал ли кто у нас по ходу пьесы.
Отдельной строкой расскажу про EHID.
EHID — это интерфейс между железом кабины (контроллерами ввода-вывода) и программными компонентами. Распространяется под NDA, я его подписал и теперь являюсь счастливым обладателем спецификации. Применил пока для окостыливания бага с тиллером в X-Plane, о котором расскажу ниже.
Суть в том, что есть компонент A320_EHID.exe (и соответственно B737_EHID.exe для Боинга), который держит в себе «дерево» всех всех компонентов кабины — и аналоговых осей, и светодиодов, и тумблеров и всего вообще.
У каждого элемента есть собственное имя и 32-разрядный ID.
Приложения обращаются не напрямую к железу, а к EHID. Общение — поверх TCP, Event-driven. Поллинг весь реализован в EHID, так что такой концепт сильно облегчает жизнь.
Спецификация затрагивает два уровня — между железом и EHID, и между EHID и приложениями.
Нижний уровень представлен в том числе и описанием протокола поверх USB HID, и реализуется в том числе в прошивках контроллеров.

Update: нарисовал картинку по взаимодействию компонентов симулятора между собой
Беда в том, что «последняя ошибка» обнаружилась на стыке драйверов Винды и реализации EHID в прошивках: при одновременном поступлении данных от большого количества устройств, что-то такое волшебное происходит внутри EHID, что приводит к DoS. Обнаруживается, слава богу, легко: EHID перестает отвечать на запросы приложений. На этом и основан мониторинг.
Говнокод — тот еще, не пинайте.
Import-Module c:\scripts\Release\DeviceManagement.psd1 [int] $Port = 21843 $IP = "192.168.X.X" $Address = [system.net.IPAddress]::Parse($IP) $LogDirs = @("C:\EHID","C:\MCDU","C:\RMCDU","C:\FBW","C:\pmSystems","C:\FCU","C:\xpuipc") Write-Host "Starting the supervisor script. " # Check if we just started $p = Get-Process -Name xpwideclient -ErrorAction silentlycontinue if (!($p)) < Write-Host "Just started" # Find and remove logfiles foreach($logdir in $LogDirs) < del $logdir\*.log -ErrorAction SilentlyContinue >del R:\*.tmp -ErrorAction SilentlyContinue # Set the routing for the goddamn windows shitty default gw to iSCSI target route delete 0.0.0.0 route add 0.0.0.0 mask 0.0.0.0 192.168.X.X # Start XPUIPC Start-Process C:\xpuipc\xpwideclient.exe -WorkingDirectory "C:\xpuipc" -WindowStyle Minimized Start-Process C:\EHID\A320_EHID.exe -ArgumentList "-run" -WorkingDirectory "C:\EHID" -WindowStyle Minimized Start-Sleep -Seconds 3 > else < Write-Host "Already working" $startFlag=0 ># Cycle forever while ( 2 -ge 1) < # Clear the flag $failFlag = 0 # Get the list of the failed devices $FailedDevices = Get-WmiObject Win32_USBControllerDevice |%| Where-Object foreach($fDevice in $FailedDevices) < # Set the flag to restart the processes $failFlag = 1 # Disable and then enable device $dDev = Get-Device | Where-Object Write-Warning "Failed device found:" $fDevice.DeviceID Disable-Device -TargetDevice $dDev -Verbose Enable-Device -TargetDevice $dDev -Verbose > # Detect hang of A320_EHID # Create IP Endpoint $End = New-Object System.Net.IPEndPoint $address, $port # Create Socket $Saddrf = [System.Net.Sockets.AddressFamily]::InterNetwork $Stype = [System.Net.Sockets.SocketType]::Stream $Ptype = [System.Net.Sockets.ProtocolType]::TCP # Create byte array [Byte[]] $Message = 0x02,0x03,0x00,0x04 $buffer = new-object System.Byte[] 8192 Try < $Sock = New-Object System.Net.Sockets.Socket $saddrf, $stype, $ptype $Sock.TTL = 26 $Sock.ReceiveBufferSize = 8192; $Sock.ReceiveTimeout = 500; $Sock.Blocking = 1; # Connect to socket $Sock.Connect($end) $Sent = $Sock.Send($Message) Start-Sleep -m 30 $Received = $Sock.Receive($buffer) $Sock.Close() >Catch [Exception] < Write-Host "Error checking EHID" $_.Exception.Message; $failFlag=1; ># Detect restart file-flag $FileExists = (Test-Path "R:\restart.txt" -PathType Leaf) if ($FileExists) < Write-Host "Restart file exists!" del R:\restart.txt $failFlag = 1 ># Restart the processes if ($failFlag -eq 1) < Write-Warning "Restarting processes" Write-Warning "Freezing. " Start-Process C:\scripts\sim_pause.exe -WorkingDirectory "C:\scripts" -WindowStyle Minimized Stop-Process -Name A320_EHID -force -ErrorAction silentlycontinue Stop-Process -Name pmFBW -force -ErrorAction SilentlyContinue Stop-Process -Name pmSystems -force -ErrorAction SilentlyContinue Stop-Process -Name MCDU -force -ErrorAction SilentlyContinue Stop-Process -Name RMCDU -force -ErrorAction SilentlyContinue Stop-Process -Name FCU -force -ErrorAction SilentlyContinue # Set start flag $startFlag=1 >if ($startFlag -eq 1) < Start-Process C:\EHID\A320_EHID.exe -ArgumentList "-run" -WorkingDirectory "C:\EHID" -WindowStyle Minimized Start-Sleep -Seconds 3 ># FIXME Workaround for the falling PM processes $p = Get-Process -Name RMCDU -ErrorAction silentlycontinue if (!($p)) < Write-Host "RMCDU dead, restarting." Start-Process C:\RMCDU\RMCDU.exe -WorkingDirectory "C:\RMCDU" -WindowStyle Minimized >$p = Get-Process -Name FCU -ErrorAction silentlycontinue if (!($p)) < Write-Host "FCU dead, restarting." Start-Process C:\FCU\FCU.exe -WorkingDirectory "C:\FCU" >$p = Get-Process -Name MCDU -ErrorAction silentlycontinue if (!($p)) < Write-Host "MCDU dead, restarting." Start-Process C:\MCDU\MCDU.exe -WorkingDirectory "C:\MCDU" >$p = Get-Process -Name pmFBW -ErrorAction silentlycontinue if (!($p)) < Write-Host "pmFBW dead, restarting." Start-Process C:\FBW\pmFBW.exe -WorkingDirectory "C:\FBW" >$p = Get-Process -Name pmSystems -ErrorAction silentlycontinue if (!($p)) < Write-Host "pmSystems dead, restarting." Start-Process C:\pmSystems\pmsystems.exe -WorkingDirectory "C:\pmSystems" >if ($startFlag -eq 1) < # Clear the flag and start the processes $startFlag = 0 Start-Sleep -Seconds 45 Write-Warning "Un-Freezing. " Start-Process C:\scripts\sim_unpause.exe -WorkingDirectory "C:\scripts" -WindowStyle Minimized >Start-Sleep -Seconds 5 >
X-Plane, Tiller и костыль
Тиллер — это рукоятка управления разворотом передней стойки. Нужен для руления на земле.
Рулить можно двумя способами — тиллером и педалями. По достижению определенной скорости, тиллер перестает действовать, остаются только педали.
Проблема в том, что в X-Plane (по признанию его автора) «потеряли» датареф, т.е. внутреннюю переменную, куда можно было бы записать положения тиллера.
Кроме этого, если к X-Plane не подключено джойстика, то он считает, что мы — убогие нищие симмеры, которые летают на клавиатуре, и поэтому нужно делать разворот передней стойки по командам от штурвала-сайдстика.
У меня была весьма бурная переписка на эту тему с автором X-Plane Остином Мейером (в ходе которой он показал себя истеричным козлом, пардон муа), который пообещал исправить этот косяк в одном из релизов. Ждем.
Пока мы ждем, я написал костылик, который с одной стороны цепляется к виртуальному джойстику (VJoy), а с другой — через сеть и EHID забирает значение положения рукоятки тиллера.
В X-Plane я назначил единственную ось — этот самый тиллер, и, в глазах X-Plane, мы перестали быть нищебродами, в связи с чем функционал разворота колёс сайдстиком отключился.
Ничего сложного или необычного в этом костыле нету, поэтому не вижу смысла приводить исходники. Написано за час на .NET по-моему.
Заключение

На этом я пожалуй остановлюсь, и так пост получился очень толстым.
В следующей части будут слайды и история строительства Аирбаса.
Для затравки — фотография из этого этапа:
Спасибо, что дочитали!
- авиасимулятор
- своими руками
- работа над ошибками