Уважаемые программеры!
Для создания полнофункциональной системы расхода и перекачки топлива для Ту-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Д, сделайте такой прибор. Уверен, что он может оказаться полезен и для других проектов.
Для создания полнофункциональной системы расхода и перекачки топлива для Ту-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Д, сделайте такой прибор. Уверен, что он может оказаться полезен и для других проектов.
VLAZ (8.11.2008 01:55) написал:
нет, не оно. ковырнуть gauges.h — это вообще первое что надо сделать 🙂
вопрос к спецам: доступиться до внутренних переменных можно либо через lookupvar, либо через executecalulatorcode. я так понял, что первый способ работает только на чтение, а вторым можно как писать, так и читать, это верно?
konsni (14.11.2008 00:02) написал:
и ещё в Ил-86. если сам не допру то ессно пойду к нему на поклон.
Но случайно скачал с 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 (>L:fuel_source_n,number) 6 (>L:fuel_target_n,number) 10000 (>L:fuel_rate_n,number) }
(L:Ext1,bool) ! if{ 9 (>L:fuel_source_n,number) 6 (>L:fuel_target_n,number) 0 (>L:fuel_rate_n,number) }
</Value>
</Select>
</Element>
сейчас опишу подробней.
(L:Ext1,bool) — это тумблер.
(>L:fuel_source_n,number)- это бак-источник перекачки.
(>L:fuel_target_n,number)- это бак- цель перекачки.
(>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
Вот и все, что я пока накопал (опять повторюсь, в данный момент нет времени).
Так что пробуйте сами, я думаю теперь можно ждать реалистичных Топливных систем.
С Уважением, Владимир.
Странно, что у Вас не получается задать принудительный расход из определенного бака. У меня работает: прописал в 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.
Очень приятно, что хоть один С- программист откликнулся. Лично я пробовал освоить этот
язык, даже купил умную книгу, но понял что симовский С очень отличается от обычного и
без человека (Преподавателя), который бы отвечал на вопросы по ходу их возникновения
просто не обойтись. Поэтому лучше оставить это занятие Специалистам.
Очень большая просьба к нему:»Не мог бы он за одно включить в этот прибор и переменную
по зарядке аккумуляторов», я имею ввиду имитацию работы генератора ВСУ и РАП, чтобы все
находилось в одном модуле.
Зараннее ему Благодарен!
А если вам нравится какой-нибудь самолет и в нем все устраивает, но лично для себя вы хотите его довести до ума.
Тогда вам не обойтись без этого.
Тем более в этом приборе не надо будет рисовать никаких битмепов, а просто дописать несколько строк, для
Знающего Человека это «раз плюнуть».
Так что если вам не тяжело, попросите Пожалуйста!
С Уважением, Владимир.
Цитата
(скорость увеличения напряжения) = ( (напряжение зарядки) — (текущее напряжение аккумулятора) ) * (сила тока зарядки) * а,
где а — коэффициент, определяющий время зарядки, его тоже лучше сделать задаваемым из xml.
Цитата
Спасибо Вам обоим!!!
Жду с нетерпением.
С Уважением, Владимир.
#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