Jump to content
A320_Pilot

Создание панелей и приборов - подробный мануал для начинающих?

Recommended Posts

У кого есть пример оживления прибора с помощью Ардуино? Есть желание для начала оживить АУАСП (благо валяется) от модели ПТ-154М.

Работу его я себе представляю так. Стоят в приборе асинхронники на приводы сектора и стрелок, резисторы на обратную связь. Думаю собрать презер, выдающий 400 Гц, и тиристорные ключи на прямой и обратный ход (одна фаза всё время на движке, две других одним ключом подаются прямой фазировкой, другим - обратной). Ардуина получает через стоящую на компе прогу данные АУАСП, сравнивает с положениями резюков, подключенных через аналоговые входы, если есть рассогласование - включает нужные ключи до вхождения рассогласований в нуль-зону.

У кого есть варианты, критика - прошу отозваться.

Share this post


Link to post
Share on other sites

Александр, можете небольшой пример написать чтобы я понял, хотя бы с взаимодействием трех систем, самых простых!

Скажем, генератор, давление в системе и зажигание, или с РУДами что нить, просто небольшой примерчик!

Заранее Спасибо!

Share this post


Link to post
Share on other sites

Александр, можете небольшой пример написать чтобы я понял, хотя бы с взаимодействием трех систем, самых простых!

Скажем, генератор, давление в системе и зажигание, или с РУДами что нить, просто небольшой примерчик!

Заранее Спасибо!

Он блефует.

710d684b207cb99a8075.0.jpg

Share this post


Link to post
Share on other sites

Коллега,

 

Такие вещи не программируются за пять минут или "за пару вечеров". Это долгое и серьезное изучение, проработка, и только потом написание кода.

 

Не понимаем - значит берем книгу, читаем и разбираемся. Начните с простейшего случая - например, дефолтный "Пайпер". Вот РЛЭ и РТЭ для самолета Пайпер L-4:

 

AN 01-140DA-1 - Pilots Flight Operating Instructions - L-4A & L-4B (10-04-1943).pdf

 

http://rusfolder.com/42280551

 

AN 01-140DA-2 - Erection and Maintenance Instructions - L-4A, L-4B, L-4H & L-4J (30-07-1945).pdf

 

http://rusfolder.com/42280552
 

Разберитесь, как вырабатывается электроэнергия, какие есть потребители, как они связаны с генератором. Когда Вы сможете нарисовать схему электропитания, можно будет двинуться дальше.

Share this post


Link to post
Share on other sites

<Value>(A:Electrical battery switch, bool) if{ 1 (L:Akk_sw, bool) }</Value>

Вот это что?

Преобразование переменных?

Share this post


Link to post
Share on other sites

<Value>(A:Electrical battery switch, bool) if{ 1 (L:Akk_sw, bool) }</Value>

Вот это что?

Преобразование переменных?

Нет, это код с ошибкой. По крайней мере, как это было написано здесь. Что-то в этом кусочке кода пропущено. Но что? Установить можно только по контексту...

Share this post


Link to post
Share on other sites

А что пропущенно?

Как минимум " > " . Правда вопрос действительно абстрактный.

Здесь значение симовской А-переменной положения выключателя АКК должно записываться в L-переменную, судя по всему, того же смысла. 

Edited by FlaynGrizzly

Share this post


Link to post
Share on other sites

 (A:Electrical battery switch, bool), разве есть такая переменная?

Share this post


Link to post
Share on other sites

 (A:Electrical battery switch, bool), разве есть такая переменная?

Не в переменной дело, я на скорую руку писал!

Share this post


Link to post
Share on other sites

А как дать L переменной какое либо значение?

Скажем того же генератора?

Share this post


Link to post
Share on other sites

Скажем, чтобы генератор был зависим от АКК?

Edited by A320_Pilot

Share this post


Link to post
Share on other sites

<Value>(A:Electrical battery switch, bool) if{ 1 (L:Akk_sw, bool) }</Value>

Вот это что?

Преобразование переменных?

я не особый знаток хмл синтаксиса, но думаю тут идет речь о том, что если L:Akk_sw равно 1, то и дальше не понятно что. по идее там должно быть что-то вроде (>A:Electrical battery switch, bool), иначе там смысла нет, условие есть, а что делать не понятно. знатоки хмл синтаксиса возможно поправят.

Share this post


Link to post
Share on other sites

я не особый знаток хмл синтаксиса, но думаю тут идет речь о том, что если L:Akk_sw равно 1, то и дальше не понятно что. по идее там должно быть что-то вроде (>A:Electrical battery switch, bool), иначе там смысла нет, условие есть, а что делать не понятно. знатоки хмл синтаксиса возможно поправят.

 

Вот в таком виде это выражение имеет смысл:





<Value>(A:Electrical battery switch, bool) if{  1 (>L:Akk_sw, bool)  }</Value>

Т.е. тогда, когда (если)  (A:Electrical battery switch, bool) будет иметь значение 1. L:Akk_sw, bool  получает  значение 1. Вообще это тип bool и он строго говоря имеет только или true или false. Но сим еще и в численном виде присваивает 1 или 0 соответсвенно. Просто не во всех языках програмирования булевы переменные могут выражаться как 0 или 1. 

A:Electrical battery switch, bool переменной в симе по-моему действительно нет. 

 

Ну можно записать так например: 





(A:ELECTRICAL MASTER BATTERY,bool)  if{ 1 (>L:Akk_sw,bool) }

Т.е. если симовская переменная получила (где-либо) значение true, Ваша L получает то же значение.  

Я лично использую такой вариант, чтобы отделить представление (визуальную  часть) от логики. 

Т.е. в данном случае симовская  (A:ELECTRICAL MASTER BATTERY,bool) (которая и показывает есть ли эл-во, или нет, (если нет желания писать 100 % свою эл. систему))  может меняться как угодно и где угодно  (вкл. и выкл хоть 50 раз в минуту),  но  (L:Akk_sw,bool), один раз получив true так и будет ее хранить. И, соответственно Ваши битмапы  (АЗС АКК на панели) будут в положении, например вкл. вне зависимсти от симовской переключалки.    

Вот собственно и простейшая зависимость в Вашем примере: если ... то ... 

 

Ну а "дать значение" это собссно то, что Вы пропустили - знак   " "   -   





(A:ELECTRICAL MASTER BATTERY,bool)   (>L:Akk_sw,bool)  

еще для примера:





<Gauge Name="Battery switch" Version="1.0">
   <Element>
      <Select>
         <Value>(L:Electrical master battery,bool)</Value>
         <Case Value="0">
            <Image Name="IL14_akk_off.bmp" ImageSizes="98,295,0,0"/>
         </Case>
         <Case Value="1">
            <Image Name="IL14_akk_on.bmp" ImageSizes="98,295,0,0"/>
         </Case>
      </Select>
   </Element>
   <Mouse>
<Help ID="HELPID_GAUGE_BATTERY_SWITCH"/>
      <Cursor Type="Hand"/>
<Click>(L:Electrical master battery,bool) ! (>L:Electrical master battery,bool)
	   (L:RAP_AKB_state, enum) ! (A:ELECTRICAL MASTER BATTERY,bool) ! && (L:Electrical master battery,bool) && if{ 1 (>K:TOGGLE_MASTER_BATTERY) } 
	   (A:ELECTRICAL MASTER BATTERY,bool) (L:Electrical master battery,bool) ! && if{ 0 (>K:TOGGLE_MASTER_BATTERY) } 
	   (L:Electrical master battery,bool) !  if{ 0 (>L:Power_unit_available,bool) }</Click>
   </Mouse>
</Gauge>

ЗЫ: В симовские переменные писать значения нельзя, сим ревнует )).  Для этого есть эвенты.  

 

 

http://msdn.microsoft.com/en-us/library/cc526981.aspx#AircraftFlightInstrumentationData

 

http://msdn.microsoft.com/en-us/library/cc526980.aspx#AircraftMiscellaneousSystemsIDs

 

 

Ну и мануальчик от  Майкрософт )) :   http://msdn.microsoft.com/en-us/library/cc526953.aspx#Element_Objects

  • Upvote 1

Share this post


Link to post
Share on other sites

Кто-нибудь может поделится описанием переменных из прибора АРК-11 Степана Грицевского?

Share this post


Link to post
Share on other sites

Подскажите, как в ВК сделать так, чтобы выключатель света фар TAXi включался. А то он дёргается, а до конца не включается. 

Share this post


Link to post
Share on other sites

ребят     дадите     пожалуйста  ссылочку    на   мануал   подробное    описание    как   сделать     фотопанель   2  D   +  боковые    виды  кабины  пилотов    для  пассажирского   самолета  в  fs2004   ?

Share this post


Link to post
Share on other sites
Уважаемые коллеги.

Сделал себе простенькую мини курсовую систему.

Когда выключатель включён происходит автоматическое согласование

гироскопического курса самолёта с магнитным курсом при ошибке

(уходе гироскопа) более 0.1 градуса.

 

   <Element>

      <Position X="315" Y="35"/>

      <Select>

         <Value>(L:KS_mini, bool)</Value>

         <Case Value="0">

            <Image Name="sw_dw.bmp" ImageSizes="48,120,48,120"/>

         </Case>

         <Case Value="1">

            <Image Name="sw_up.bmp" ImageSizes="48,120,48,120"/>

         </Case>

      </Select>

   </Element>

 

  <Element>

    <Select>

      <Value>

(L:KS_mini, bool) if{

(A:GYRO DRIFT ERROR, degrees) abs 0.1 > if{ 

(>K:HEADING_GYRO_SET) } }

      </Value>

    </Select>

  </Element>

  

   <Mouse>

         <Cursor Type="Hand"/>

<Click>

(L:KS_mini, bool) ! (>L:KS_mini, bool)

</Click>

    </Mouse>

 

Хотелось бы добавить проверку крена.

Чтобы согласование производилось при крене самолёта не более 3 градусов.

 

Крен самолёта в градусах

PLANE BANK DEGREES

(A:Plane bank degrees, degrees) abs 3.0 <

 

Как добавить эту проверку ? У меня не получается.

 

Share this post


Link to post
Share on other sites

Есть следующее: Р3Dv3 установленный и работающий; купил у Mindstar GNS 430\530 – тоже установил; прочитал инструкцию от Mindstar в автопереводе на русский. Принцип понятен, но не понятно, всё-таки, как заменить в дефолтном Bonanse A36 дефолтный GNS 430\530 на Mindstar GNS 430\530, желательно без изменения размеров этого прибора, т.е., вставить купленный вместо дефолтного в панель и чтобы он, естественно, работал? Какой файл Майндстаровский или какие параметры какого файла вставить вместо Препаровского и в какой файл или папку? Я добрался в P3D в папку panel, где есть файл panel.cfg, открыл его блокнотом, а что там надо менять не знаю. Как всё-таки делается замена одно на другое? Если это не сложно, пожалуйста, может кто подскажет?

Share this post


Link to post
Share on other sites

Всех приветствую!

Есть вопрос: В MFS 2004 заметил,что на автопилотах самолётов (использующих дефолтную логику, так понимаю) задатчик курса АП всегда изначально установлен на отметку 340 градусов. Откуда берётся эта цифра? Ни в секции [autopilot] Aircraft.cfg, ни в XML коде самого автопилота, установленного на самолёте ничего мне разглядеть не удалось. Возможно ли в рамках одной , конкретной панели сделать так, чтобы задатчик курса всегда изначально находился в положении 0 градусов? 

Share this post


Link to post
Share on other sites

Может, дело в сохраненном полете, который по-умолчанию?

Share this post


Link to post
Share on other sites
В 17.06.2019 в 01:08, eddeul пишет:

Может, дело в сохраненном полете, который по-умолчанию?

Возможно...

Но меня такой вариант не устроит. Предполагается, что задатчиком курса будет шкала ГПК. Так что хотелось, что бы при любых условиях она изначально была бы установлена на 0 градусов.

Share this post


Link to post
Share on other sites

Я к тому, что автопилот (и не только) дефолтного самолета при загрузке самолета считывает значения из файла сохраненного полета, установленного по-умолчанию. Вот загрузился я на дефолтном B-737, на задатчике курса показано 340 градусов. Изменил на 360. Сохранил полет с новым именем и сделал его по-умолчанию. Теперь на каком бы я дефолтном самолете не грузился в любом порту, задатчик курса мне всегда показывает 360 градусов.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...