Большая просьба к разработчикам .gau-приборов

Уважаемые программеры!
Для создания полнофункциональной системы расхода и перекачки топлива для Ту-144 нужен прибор, осуществляющий перекачку топлива между некоторыми баками, управляемый с помощью L-переменных (из XML-приборов). Хотелось бы иметь возможность задавать направление перекачки и производительность насосов.
Если обозвать симовские баки через 1, 2, 3, 4, 5, 6, 7, 8, то перекачка должна осуществляться в следующих направлениях:
8<—>1
8<—>6
8—>4
2—>4
2—>8
1—>4
1—>6
2—>6
Логику работы топливной системы я сделаю на XML, но вот такую сложную перекачку его средствами произвести невозможно…
Большая просьба, если вам не жаль своего времени для развития проекта Ту-144Д, сделайте такой прибор. Уверен, что он может оказаться полезен и для других проектов.

Ответов: 19

VLAZ (8.11.2008 01:55) написал:

Незнаю оно или нет, вот порылся в Panel SDKINCGauge.H, нашел вот что:

нет, не оно. ковырнуть gauges.h — это вообще первое что надо сделать 🙂

вопрос к спецам: доступиться до внутренних переменных можно либо через lookupvar, либо через executecalulatorcode. я так понял, что первый способ работает только на чтение, а вторым можно как писать, так и читать, это верно?

konsni (14.11.2008 00:02) написал:

У Степана Грицевского на Ил-62 есть перекачка и слив топлива. Думаю, можно спросить у него.

и ещё в Ил-86. если сам не допру то ессно пойду к нему на поклон.

Ну тогда уж не на L, а на C вида C:Tu144FuelPumps:some.

А разве сим видит названия баков по другому,чем дефолтные?На Винтах 11 или 12 или 12 баков,так сим больше 10 не видит.А на счет перекачки может посмотреть,как на Конкорде сделано,если там XML?

Не совсем понял, что Вы хотели сказать, но в симе по дефолту есть 11 баков. Дефолтная перекачка работает только между баками Center1 и Center2. На обоих Конкордах перекачка, как и вся панель, сделана gau-приборами.

Я тоже долго мучался этим вопросом.
Но случайно скачал с Avsim Library самолет «avro_lancastrian_ii» и там был прибор «dsd_fuel_manager.gau».
Я прочитал там про него, что он рабтает только с FSUPIC.dll выше какой-то версии и сразу разочаровался.
Потом достал себе «ActiveSky6», а она все-равно работает с FSUPIC.dll версии 3.5.2 с даже не зарегистрированной.
И буквально вчера меня осенило попробовать еще раз и я был в восторге от этого прибора!
После полдня подборок методом научного втыка, я узнал все возможности этого прибора.
А заключаются они в том:
1. Помещаем его в папку GAUGES или PANEL нужного нам самолета.
2. Прописываем его в Panel.cfg желательно в главный вид.
3. Пишем XML-прибор, в нем задаем источник перекачки, цель перекачки и производительность.
4. И естествено прописываем его в Panel.cfg.

Пока я подбирал какая цифра соответсвует какому баку, меня все время мучил вопрос:
можноли смоделировать слив в некуда, а также заправку из неоткуда,-оказывается и
это можно, причем для каждого бака в отдельности.

После этого я могу сказать одно: СПАСИБО БОЛЬШОЕ Автору прибора!!!

Если мой ответ Вас заинтересовал, ОТКЛИКНЕТЕСЬ ПОЖАЛУЙСТА, и тогда я конкретней отвечу на вопросы.

С Уважением, Владимир.

Конечно, заинтересовал! Расскажите, пожалуйста, поподробнее, что Вам удалось выяснить.
Возможна ли одновременная перекачка по нескольким направлениям?
Похоже, этот прибор — именно то, что нужно!
Спасибо огромное за такую замечательную находку!

Добрый день всем !

Извините, что долго не отвечал (Небыло времени).

Теперь что касается прибора перекачки:
когда я начал пробовать создать нормальный расход топлива, а именно забор топлива двигателями из расходного бака (допустим Center1), а из остальных перекачивать в него, то сразу столкнуся с проблемой:

Я попробовал насильно задать расход из Center1 таким образом:

<Element>
<Select>
<Value>6 (>K:FUEL_SELECTOR_SET)</Value>
</Select>
</Element>

но FS все-равно включает расход из Центра и Крайних крыльевых баков.
Если сможете это победить напишите как ?

Пока что я выяснил принцип работы прибора:
Допустим вы хотите чтобы при включении тумблера(неважно как он будет называться) включалась перекачка из бака в бак или слив или заправка, а по его выключении перекачка останавливалась.
Тогда вы пишите такой XML-прибор:

<Element>
<Select>
<Value>(L:Ext1,bool) if{ 9 (&gt;L:fuel_source_n,number) 6 (&gt;L:fuel_target_n,number) 10000 (&gt;L:fuel_rate_n,number) }
(L:Ext1,bool) ! if{ 9 (&gt;L:fuel_source_n,number) 6 (&gt;L:fuel_target_n,number) 0 (&gt;L:fuel_rate_n,number) }
</Value>
</Select>
</Element>

сейчас опишу подробней.

(L:Ext1,bool) — это тумблер.

(&gt;L:fuel_source_n,number)- это бак-источник перекачки.

(&gt;L:fuel_target_n,number)- это бак- цель перекачки.

(&gt;L:fuel_rate_n,number)- это производительность насосов перекачки (1000-это примерно 70кг/мин).

Цифры присвоенные этим переменным соответствуют номерам баков кроме производительности, их я опишу ниже.

n-это номер переменной, он может быть помоему от 0 до 9 (попробуйте сами на каком номере переменная перестает работать).

Теперь соответствие цифр-бакам:

Left_Main = 1

Right_Main = 0

Left_Aux = 3

Right_Aux = 2

Left_Tip = 5

Right_Tip = 4

External1 = 9

External2 = 10

Center1 = 6

Center2 = 7

Center3 = 8

Атмосфера либо ТЗ = 11

Вот и все, что я пока накопал (опять повторюсь, в данный момент нет времени).

Так что пробуйте сами, я думаю теперь можно ждать реалистичных Топливных систем.

С Уважением, Владимир.

Спасибо большое! Количество очередей перекачки действительно ограничено десятью, для Ту-144 маловато, но сойдет для отладки логики, пока разрабатывается специальный прибор перекачки (icebear взялся написать).

Странно, что у Вас не получается задать принудительный расход из определенного бака. У меня работает: прописал в xml
6 (>K:FUEL_SELECTOR_SET)
6 (>K:FUEL_SELECTOR_2_SET)
6 (>K:FUEL_SELECTOR_3_SET)
6 (>K:FUEL_SELECTOR_4_SET)
и все двигатели вырабатывают топливо из Center1.

Добрый день, спасибо за ответ.
Я все понял, просто я прописал в топливной секции Aircraft.cfg количество двигателей = 1.
Очень приятно, что хоть один С- программист откликнулся. Лично я пробовал освоить этот
язык, даже купил умную книгу, но понял что симовский С очень отличается от обычного и
без человека (Преподавателя), который бы отвечал на вопросы по ходу их возникновения
просто не обойтись. Поэтому лучше оставить это занятие Специалистам.

Очень большая просьба к нему:»Не мог бы он за одно включить в этот прибор и переменную
по зарядке аккумуляторов», я имею ввиду имитацию работы генератора ВСУ и РАП, чтобы все
находилось в одном модуле.

Зараннее ему Благодарен!

Я, конечно, могу попросить, но мне кажется, что электросистему лучше писать «с чистого листа», полностью на L-переменных, не обращаясь к дефолтной симовской системе. Лично я сделал именно так.

Это конечно так, если вы делаете самолет(кабину) с нуля.
А если вам нравится какой-нибудь самолет и в нем все устраивает, но лично для себя вы хотите его довести до ума.
Тогда вам не обойтись без этого.
Тем более в этом приборе не надо будет рисовать никаких битмепов, а просто дописать несколько строк, для
Знающего Человека это «раз плюнуть».
Так что если вам не тяжело, попросите Пожалуйста!

С Уважением, Владимир.

Попросил. Даже примерно описал алгоритм «зарядки».

Цитата

Думаю, можно сделать ввод параметров зарядки двумя переменными, для напряжения и силы тока, и увеличивать выдаваемое аккумулятором напряжение по такому закону:
(скорость увеличения напряжения) = ( (напряжение зарядки) — (текущее напряжение аккумулятора) ) * (сила тока зарядки) * а,
где а — коэффициент, определяющий время зарядки, его тоже лучше сделать задаваемым из xml.

Ответ:

Цитата

ой, господа, дайте хоть один прибор закончить 🙂 с двумя детями, завалами на работе и минимальными знаниями условий программирования гаугов было-бы несколько самонадеянно с моей стороны давать обещания на компекты оборудования 🙂 короче посмотрим, давай сначала перекачку напишем

Вот и чудно.
Спасибо Вам обоим!!!
Жду с нетерпением.

С Уважением, Владимир.

Ну раз уж тайну моего альтруизма раскрыли, то может мне раскроют ещё одну: как доступится до баков EXTERNAL1/2? Какие токены за них отвечают?

Незнаю оно или нет, вот порылся в Panel SDKINCGauge.H, нашел вот что:

#define TANK_MAIN_RIGHT 0
#define TANK_MAIN_LEFT 1
#define TANK_AUX_RIGHT 2
#define TANK_AUX_LEFT 3
#define TANK_TIP_RIGHT 4
#define TANK_TIP_LEFT 5
#define TANK_CENTER 6
#define TANK_CENTER2 7
#define TANK_CENTER3 8
#define TANK_EXTERNAL1 9
#define TANK_EXTERNAL2 10

или еще попробуйте открыть в блокноте SIM1.dll, там тоже есть «External».

Отредактировано VLAZ: 08 November 2008 — 11:23

мда, я прямо с ног свалился от шквала ответов. кто-нибудь может сказать, можно ли вообще менять кол-во топлива в баках через код?

У Степана Грицевского на Ил-62 есть перекачка и слив топлива. Думаю, можно спросить у него.