Archived

This topic is now archived and is closed to further replies.

Zamestitel'

Создание приборов

56 posts in this topic

Вообще-то есть еще один вопрос.

Тут такая идея - делаю НКП для Ил-76. Который черный такой, здоровенный, под КПП (за названия не уверен - не разбираюсь я в них) :D.

У него круглая вольшая шкала, которая крутится и всегда должна смотреть на магнитный полюс - она туда в общем-то и смотрит. Я не стремлюсь достигнуть ультрарелаизма - всетаки это моя первая работа в таком классе. Но хотелось бы реализовать согласование курса на этом приборе (пусть примитивно, еще раз оговорюсь, что дело не в том, чтобы "вогнать работу в миллиметры").

Дык вот, как я это себе вижу.

При загрузке самолета шкала (пока прибор выключен - привязано к соответствующему тумблеру) всегда нулем смотрит в ту же сторону, что и самолет. При включении прибора означенным тумблером ничего не происходит (даже если покрутить самолет в slew-режиме) , кроме того, что активируется возможность работы т.н. арретира. А эта функция арретира будет привязана не к вертикальному положению самолета, как в ПКП Дмитрия Колесника, а к магнитному полюсу. Кнопка арретира это и есть кнопка согласования курса.

(Мдааа, написал много, лишь бы хоть кто-то это понял).

Вот идея. Теперь вопрос, как это будет выглядеть в ХМЛ-е? Ломал голову, ломал вчера весь вечер и полночи, но ничего конструктивного не придумал :D.

В Си это написать конечно проще, но прибор уже состряпан в ХМЛ-е и довести его до ума я бы хотел тоже в ХМЛ. :D

0

Share this post


Link to post
Share on other sites

Я бы предложил такую логику.

 

Когда прибор выключен - он показывает какое то заранее фиксированное значение.

Когда работает - показывает "то что надо"

Когда "не разарретирован" - всегда показывает значение последнее до момента отключения арретирования.

 

И вообще, С оно конечно поначалу посложнее, но многие вещи проще и легче делаются на нём. Тот же стабилизатор на XML не сделать.

0

Share this post


Link to post
Share on other sites
Первоначальное сообщение от VVSFalcon

Я бы предложил такую логику.

 

ОК, понятно. Ну вот я для АГР-а своего прописал вот так:

 

(L:AGD_ON,bool) (L:ArretirDouble,bool) && if{ (A:Attitude indicator pitch degrees,degrees) /-/ (L:TangDouble,degrees) - } els{ 5 }

 

А для НКП там где els вместо 5 я бы хотел поставить зависимость от направления самолета в момент загрузки полета. Но вот как эта функция будет выглядеть?

 

Да, по "кренделям" из предыдущего постинга соображений нет? Я где-то когда-то читал, что Степа Грицевский сталкивался с стой же проблемой, но топик это теперь не могу найти.

0

Share this post


Link to post
Share on other sites
Первоначальное сообщение от VVSFalcon

L:StartupHdg 0 == if{ A:Plane Heading в L:StartupHdg L:StartupHdg 1000 +}

 

А куда это можно прописать в приборе? Я там не смог найти подходящего места для лишней строки, а когда создаю новый element, у меня прибор перестает отображаться в симе.

:confused:

А еще что означает русская буква "в" в строке кода? И зачем мы прибавляем 1000?

 

P.S. Уж не взыщите, я начинающий в таком деле - может и глупые вопросы задаю, но очень надеюсь на поддержку :)

0

Share this post


Link to post
Share on other sites
Первоначальное сообщение от Zamestitel'

Вообще-то есть еще один вопрос.

Тут такая идея - делаю НКП для Ил-76. Который черный такой, здоровенный, под КПП (за названия не уверен - не разбираюсь я в них) :).

У него круглая вольшая шкала, которая крутится и всегда должна смотреть на магнитный полюс - она туда в общем-то и смотрит. Я не стремлюсь достигнуть ультрарелаизма - всетаки это моя первая работа в таком классе. Но хотелось бы реализовать согласование курса на этом приборе (пусть примитивно, еще раз оговорюсь, что дело не в том, чтобы "вогнать работу в миллиметры").

Дык вот, как я это себе вижу.

При загрузке самолета шкала (пока прибор выключен - привязано к соответствующему тумблеру) всегда нулем смотрит в ту же сторону, что и самолет. При включении прибора означенным тумблером ничего не происходит (даже если покрутить самолет в slew-режиме) , кроме того, что активируется возможность работы т.н. арретира. А эта функция арретира будет привязана не к вертикальному положению самолета, как в ПКП Дмитрия Колесника, а к магнитному полюсу. Кнопка арретира это и есть кнопка согласования курса.

(Мдааа, написал много, лишь бы хоть кто-то это понял).

Вот идея. Теперь вопрос, как это будет выглядеть в ХМЛ-е? Ломал голову, ломал вчера весь вечер и полночи, но ничего конструктивного не придумал :).

В Си это написать конечно проще, но прибор уже состряпан в ХМЛ-е и довести его до ума я бы хотел тоже в ХМЛ. :)

 

Прибор называется НПП - Навигационно-Плановый Прибор. Логики работы в нём нет :) Это лишь один из индикаторов курсовой системы. Он показывает то, что приходит в него из курсовой. Т.е. ГироМагнитный Курс, или Ортодромический. Не знаю как на Ил-62, но на Ил-76 под ним ещё есть переключатель отдельный "ОК-МК", который и выбирает что показывать на НПП. Основной режим при полёте по маршруту, естественно "ОК".

В лучшие годы советской авиации, когда GPS-о подобный хреней не существовало, Ил-62 особенно славился точным хождением по длинным сибирским трассам, малооборудованным радиосредствами. Он мог по нескольку тысяч километров лететь чисто по своим средствам точно по трассе. А основу его оборудования, как и на Ил-76 составляют ТКС-П и И-11...

Так что имхо, нигде более чем на Ил-62 надо обращать внимание на навигацию при разработке панели...

0

Share this post


Link to post
Share on other sites
Первоначальное сообщение от Cadett

Прибор называется НПП - Навигационно-Плановый Прибор.

 

Спасибо за справочку :)

 

2 VVSFalcon

 

1. А куда эту строчку все-таки можно прописать?

2. Как будет выглядеть отрицание функции? Т.е. надо реализовать в одном элементе чтобы он начинал работать при наступлении последствий выполнения одной функции и ненаступления другой.

3. Какую литературу можете порекомендовать по ХМЛ, чтобы это было поближе к тому, что приходится делать в симе? Зашел сегодня в книжный - глаза разбегаются, а просмотрел содержание - непнятно, надо оно или нет. ;)

0

Share this post


Link to post
Share on other sites

1. Посмотрите в приборах к Ту-134 Global Var Calculator.XML

2. Дык, функция возвращает ИСТИНУ или ЛОЖЬ. Если Функция1=ИСТИНА AND Функция2=ЛОЖЬ - делаем то что надо. Если функции не ИСТИНА/ЛОЖЬ возвращают - то, надо свести всё же к этому:)

3. Никаких, ибо ничего по XML сам не читал.

0

Share this post


Link to post
Share on other sites
Первоначальное сообщение от VVSFalcon

2. Дык, функция возвращает ИСТИНУ или ЛОЖЬ. Если Функция1=ИСТИНА AND Функция2=ЛОЖЬ - делаем то что надо. Если функции не ИСТИНА/ЛОЖЬ возвращают - то, надо свести всё же к этому:)

Так-то оно так, но я имею ввиду, как синтаксически или пунктуцанионно будет выглядеть ЛОЖЬ? :):)

0

Share this post


Link to post
Share on other sites

в xml гагах для совместимости принято определение лжи и истины как в языке Си.

В нем не существует специального логического типа данных.

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

т.е. проще говоря :

0 - ложь

1,2, и т.п... любое отличное от нуля значение - истина.

для символьного обозначения этих понятий обычно вводяться символы препроцессора

#define FALSE 0

#define TRUE !FALSE

 

смысл их сводиться к тому, что ложь = 0, а то что не равно значению "ложь" -- истина

0

Share this post


Link to post
Share on other sites

Попробовал сделать простенький авиагоризонтик по образу и подобию авиагоризонта в Ту-154. Понял почти все, кроме одного: как делать MASK? MASK от Дмитрия Колесника в ImageTool открывается, и альфа видна, а вот я эту самую альфу никак создать не могу... Может, нужен не ImageTool, а что-нибудь посерьезнее?

0

Share this post


Link to post
Share on other sites

В маске прозрачный цвет RGB 1, 1, 1. Точнее это цвет, прозрачный по отношению к тому битмапу для которого маска используется. Ну а ко всем нижележащим соответственно 0, 0, 0.

0

Share this post


Link to post
Share on other sites
Первоначальное сообщение от denbessonov

Попробовал сделать простенький авиагоризонтик по образу и подобию авиагоризонта в Ту-154. Понял почти все, кроме одного: как делать MASK? MASK от Дмитрия Колесника в ImageTool открывается, и альфа видна, а вот я эту самую альфу никак создать не могу... Может, нужен не ImageTool, а что-нибудь посерьезнее?

 

Если речь идет о маске для эффекта "шарика", то она сделана как градационная заливка в "градациях серого". Все альфы я делал в Paint Shop Pro, и сохранял как *.tga

 

Потом в Image Tool открывал *.tga, конвертировал в 8-бит, и сохранял, как *.bmp

 

При этом альфа сохраняется.

0

Share this post


Link to post
Share on other sites

пока увы последняя,

некогда було, во вторых ждал выхода нового сдк от MS для 2004, может там чего прояснили, надо зайти посмотреть выложили ли panelSDK

как только он появиться продолжу работу

0

Share this post


Link to post
Share on other sites

К сожалению, в настоящий момент ссылка http://lial.nm.ru/xml-gauges.txt не работает. Можно ли где-то еще посмотреть ту информацию?

И глупый вопрос: как собирать контейнер cab?

0

Share this post


Link to post
Share on other sites

работает теперь... случайно удалил.

кабы можно делать MSовским архиватором...

0

Share this post


Link to post
Share on other sites

Большое спасибо за ответ и ссылку. Я рабочий CAB в studio.net собрал только что.

0

Share this post


Link to post
Share on other sites

Народ! Кто нибудь слышал собираются таки мелкомягкие выпускать ПанелСДК для 2004 или так 2002 и останеться..?

0

Share this post


Link to post
Share on other sites

да блин не могли раньше выпустить... тут в отпуск иду щас бы учебник доделал....

0

Share this post


Link to post
Share on other sites

Подскажите, ради интереса, как использовать cabdir, вроде предельно простой мануал, но у меня не получается. В тоже время, с помощью makecab собираю контейнер:

makecab /f файл_директив

(Это я себе 2002 SDK закачал :) )

0

Share this post


Link to post
Share on other sites

Что-то у меня постфиксная нотация в голове не укладывается. :rolleyes:

Простейшая задача, написать в XML такое выражение:

X*80 + Y*80 + Z*40

Для первых двух операндов, получается так:

X Y + 80 *

А как записать все выражение?

0

Share this post


Link to post
Share on other sites

Х 80 * Y 80 * + Z 40 * +

или

X 80 * Y 80* Z 40 * + +

0

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.