Jump to content
Tory

SOS: вопросы по приборам на XML

Recommended Posts

2 hours ago, Казачок said:

Код прибора (снял с Lockheed P-3B) оказался на столько мудрёным, что я до сих пор не понимаю как, но он работает.

А не покажете здесь? Интересно посмотреть.

Share this post


Link to post
Share on other sites
9 часов назад, hrjushkin пишет:

Так может просто записать в переменную  K:PROP_PITCH1_SET нужное значение? 0 - макс. шаг, 16383 - минимальный, -16384 - винт зафлюгирован.

Не получится - шаг винта меняется только в пределах, заданных в aircraft.cfg (параметры beta_min и beta_max). За эти границы выйти нельзя.

Share this post


Link to post
Share on other sites
В 14.03.2017 в 00:28, ilya1502 пишет:

А не покажете здесь? Интересно посмотреть.

Приветствую!

Да пожалуйста. Секретного-то ничего нет...


    <Element>
    <Select>
    <Value>(L:Feather1_Var,number) (P:Local Time, seconds) &lt; (L:Prop1_Feathered,bool) 1 == &amp;&amp; if{ 2 (&gt;L:Prop1_Feathered_State,enum) 0 (&gt;L:Feather1_Var,number) }</Value>
    </Select>
    </Element>
        <Element>
     <Select>
      <Value>(L:Prop1_Feathered_State,enum) 1 == (A:Circuit general panel on, bool) 0 == &amp;&amp; if{ 2 (&gt;L:Prop1_Feathered_State,enum) 0 (&gt;L:Feather1_Var,number) }</Value>
     </Select>
    </Element> 

<Element>
      <Position X="16" Y="45"/>
      <Select>
         <Value>(A:general eng1 propeller lever position,part)</Value>             <Case Value="0">
<Image Name="KFL-37_On_L.bmp" ImageSizes="72,104,0,0"/>
         </Case>
         <Case Value="1">
<Image Name="KFL-37_Off_L.bmp" ImageSizes="72,104,0,0"/>
         </Case>
      </Select>
   </Element>

 <Mouse>
  <Area Left="16" Right="88" Top="85" Bottom="150">
         <Tooltip>Push To Feather</Tooltip>
         <Cursor Type="Hand"/>
         <Click>(P:Local Time, seconds) 59.00 + (&gt;L:Feather1_Var,number) + -16384.0 (>K:PROP_PITCH1_SET) 1 (>L:Prop1_Feathered,bool) 1 (>L:Prop1_Feathered_State,enum) (&gt;K:MIXTURE1_LEAN) (>K:ENGINE) (L:Prop2_Feathered,bool) ! if{ (>K:SELECT_2) } (L:Prop3_Feathered,bool) ! if{ (>K:SELECT_3) } (L:Prop4_Feathered,bool) ! if{ (>K:SELECT_4) }
</Click>
      </Area>

      <Area Left="16" Right="88" Top="40" Bottom="85">
         <Tooltip>Pull To Defeather</Tooltip>
         <Cursor Type="Hand"/>
         <Click> 16384 (>K:PROP_PITCH1_SET) 0 (>L:Prop1_Feathered,bool) 0 (>L:Prop1_Feathered_State,enum) (>K:ENGINE) (>K:SELECT_1) (L:Prop2_Feathered,bool) ! if{ (>K:SELECT_2) } (L:Prop3_Feathered,bool) ! if{ (>K:SELECT_3) } (L:Prop4_Feathered,bool) ! if{ (>K:SELECT_4) }</Click>
      </Area>

   </Mouse>

 

Это код кнопки левого двигателя.

Edited by Казачок

Share this post


Link to post
Share on other sites
В 14.03.2017 в 07:27, Alexander Belov пишет:

Не получится - шаг винта меняется только в пределах, заданных в aircraft.cfg (параметры beta_min и beta_max). За эти границы выйти нельзя.

Так все-таки работает или нет?

1 час назад, Казачок пишет:

<Area Left="16" Right="88" Top="85" Bottom="150">
         <Tooltip>Push To Feather</Tooltip>
         <Cursor Type="Hand"/>
         <Click>(P:Local Time, seconds) 59.00 + (&gt;L:Feather1_Var,number) + -16384.0 (>K:PROP_PITCH1_SET) 1 (>L:Prop1_Feathered,bool) 1 (>L:Prop1_Feathered_State,enum) (&gt;K:MIXTURE1_LEAN) (>K:ENGINE) (L:Prop2_Feathered,bool) ! if{ (>K:SELECT_2) } (L:Prop3_Feathered,bool) ! if{ (>K:SELECT_3) } (L:Prop4_Feathered,bool) ! if{ (>K:SELECT_4) }
</Click>
      </Area>

      <Area Left="16" Right="88" Top="40" Bottom="85">
         <Tooltip>Pull To Defeather</Tooltip>
         <Cursor Type="Hand"/>
         <Click> 16384 (>K:PROP_PITCH1_SET) 0 (>L:Prop1_Feathered,bool) 0 (>L:Prop1_Feathered_State,enum) (>K:ENGINE) (>K:SELECT_1) (L:Prop2_Feathered,bool) ! if{ (>K:SELECT_2) } (L:Prop3_Feathered,bool) ! if{ (>K:SELECT_3) } (L:Prop4_Feathered,bool) ! if{ (>K:SELECT_4) }</Click>
      </Area>

 

Share this post


Link to post
Share on other sites
1 час назад, Казачок пишет:

Приветствую!

Да пожалуйста. Секретного-то ничего нет...

А вы какую модель самолета крутите-вертите? Я что-то пропустил.. Самдим? Для 9-ки?

Share this post


Link to post
Share on other sites
5 минут назад, hrjushkin пишет:

А вы какую модель самолета крутите-вертите? Я что-то пропустил.. Самдим? Для 9-ки?

Модель Ан-24РВ, для Девятки.

Приведёный код кнопки работает - Винт флюгируется, двигатель выключается. Может, конечно, тут что и не так в коде, но всё работает исправно - Я испытывал .

Edited by Казачок

Share this post


Link to post
Share on other sites

 

7 минут назад, Казачок пишет:

Приведёный код кнопки работает - Винт флюгируется, двигатель выключается.

Я про чуть выше, был разговор, что как-то на флюгирование влияют переменные в aircraft.cfg:

В 14.03.2017 в 07:27, Alexander Belov пишет:

Не получится - шаг винта меняется только в пределах, заданных в aircraft.cfg (параметры beta_min и beta_max). За эти границы выйти нельзя.

Получается, что не влияют?

Share this post


Link to post
Share on other sites
1 минуту назад, hrjushkin пишет:

 

Я про чуть выше, был разговор, что как-то на флюгирование влияют переменные в aircraft.cfg:

Получается, что не влияют?

Я в программировании вообще мало понимаю. Помню, что где-то на форуме по Ан-24РВ сообщалось, что можно на данной модели реализовать флюгирование (там даже скрин был самолёта с зафлюгированым винтом).

Ну и вот... Методом околонаучного тыка свинтил кнопку с другого самолёта.

Share this post


Link to post
Share on other sites
5 минут назад, Казачок пишет:

Ну и вот... Методом околонаучного тыка свинтил кнопку с другого самолёта.

Я пытаюсь тоже повторить - не получается. Копирую все, что в секции <Click> на кнопке флюгирования. Двигатель останавливается, но лопасти остаются под углом малого шага. А что у вас в aircraft.cfg? Можно глянуть его?

Share this post


Link to post
Share on other sites
10 минут назад, hrjushkin пишет:

. А что у вас в aircraft.cfg? Можно глянуть его?

Да что там?... Обычный Ан-24. 

Копайтесь:Aircraft.cfg_An-24RV.zip

Share this post


Link to post
Share on other sites
6 минут назад, Казачок пишет:

Да что там?... Обычный Ан-24.

Да, все то же самое. Странно, чего это не хочет. А если нажать и подержать Ctrl-F2 и Ctrl-F3.. у вас на стоянке с выключенными двигателями лопасти перемещаются или нет? Просто может это как-то зависит от самой модели самолета (mdl файла). Хотя самолет тот же самый, что и у меня..

Share this post


Link to post
Share on other sites
1 час назад, Казачок пишет:

Помню, что где-то на форуме по Ан-24РВ сообщалось, что можно на данной модели реализовать флюгирование (там даже скрин был самолёта с зафлюгированым винтом).

Действительно, есть фича такая - флюгируется винт только в полете, поэтому на земле у меня и не получалось.

Вот из всего этого:

1 час назад, hrjushkin пишет:

(P:Local Time, seconds) 59.00 + (&gt;L:Feather1_Var,number) + -16384.0 (>K:PROP_PITCH1_SET) 1 (>L:Prop1_Feathered,bool) 1 (>L:Prop1_Feathered_State,enum) (&gt;K:MIXTURE1_LEAN) (>K:ENGINE) (L:Prop2_Feathered,bool) ! if{ (>K:SELECT_2) } (L:Prop3_Feathered,bool) ! if{ (>K:SELECT_3) } (L:Prop4_Feathered,bool) ! if{ (>K:SELECT_4) }

нужный кусок это: -16384 (>K:PROP_PITCH1_SET) 1 (&gt;K:MIXTURE1_LEAN)

Первое записывает -16384 и флюгирует лопасти, а второе перекрывает подачу топлива и останавливает двигатель.

  • Upvote 1

Share this post


Link to post
Share on other sites
24 минуты назад, hrjushkin пишет:

Действительно, есть фича такая - флюгируется винт только в полете, поэтому на земле у меня и не получалось.

Вот из всего этого:

нужный кусок это: -16384 (>K:PROP_PITCH1_SET) 1 (&gt;K:MIXTURE1_LEAN)

Первое записывает -16384 и флюгирует лопасти, а второе перекрывает подачу топлива и останавливает двигатель.

Вот! Вот этого я и добивался! Спасибо тебе, добрый человек! 

Лишне из записи выкинул.

Кстати, сажал сейчас Ан-24 с зафлюгированым винтом - В момент касания полосы лопасти  перевелись на малый шаг. Так что флюгер работает действительно только в воздухе.

Share this post


Link to post
Share on other sites

Всем добрый день:bye::bye:
Начал изучать как же все таки пишутся приборы на XML, давно была мечта сделать что-то свое))
Начал разбираться в XML и столкнулся с первыми трудностями:

<Gauge Name="APU_FUEL_VALVE_Light" Version="1.0">
<Element>
    <Select>
       <Value>(L:Main_Switch, bool) 1 == &amp;&amp;
              (L:Fuel_Valve, bool) 1 == &amp;&amp;</Value>
        <Case Value="0">
            <Image Name="Green_Light_Off.bmp" ImageSizes="20,20"/>
        </Case>
        <Case Value="1">
            <Image Name="Green_Light_On.bmp" ImageSizes="20,20"/>
        </Case>
    </Select>
</Element>                                                                                   
</Gauge>

Как сделать так, чтобы Case Value="1" выполнялся только тогда, когда (L:Main_Switch, bool) и (L:Fuel_Valve, bool) оба истины?

Share this post


Link to post
Share on other sites
17 минут назад, GreedLow пишет:

<Value>(L:Main_Switch, bool) 1 == &amp;&amp;
              (L:Fuel_Valve, bool) 1 == &amp;&amp;</Value>

Надо так:

<Value>(L:Main_Switch, bool) 1 == (L:Fuel_Valve, bool) 1 == &amp;&amp;</Value>

Share this post


Link to post
Share on other sites

Var_Fire, XML прибор пожара, установлен на Ту-104, срабатывает в каждом полете, напрягает. Но и полностью удалять не хочется, разнообразит полет. Как бы сделать срабатывания пореже, при каких условиях срабатывает, может строчки какие поменять? Ищу специалистов, прошу разъяснить, если не сложно, а то темный лес для меня))

Spoiler

<Gauge Name="Test" Version="1.0">

<Image Name="Test_Back.bmp" /> 


<!-- ==  Wings == -->

<Element>
<Select>
<Value>
(L:Fire_On_True, bool) if{ 0 (>K:TOGGLE_AFTERBURNER1) }
</Value>
</Select>
</Element>

<Element>
      <Select>
         <Value>
(L:Fire_On, bool) ! if{ (P:Absolute time, minutes) 10 / int 100 % 0 == (P:Absolute time, minutes) 10 / int 100 % 25 == ||
 (P:Absolute time, minutes) 10 / int 100 % 50 == ||  (P:Absolute time, minutes) 10 / int 100 % 75 == ||
if{ 1 (>L:Fire_On_No, bool) } els{ 0 (>L:Fire_On_No, bool) } } els{ 0 (>L:Fire_On_No, bool) }

</Value>
      </Select>
   </Element>


<Element>
      <Select>
         <Value>
(P:Absolute time, minutes) int 100 % (A:Radio height, meters) 10 * int 100 % == (L:Fire_On_No, bool) &amp;&amp; if{
1 (>L:Fire_On, bool) (P:Absolute time, minutes) 0.01 + (>L:Fire_Test_End, number) }
</Value>
      </Select>
   </Element>

<Element>
      <Select>
         <Value>
(P:Absolute time, minutes) (L:Fire_Test_End, number) &lt; if{ (A:Radio height, meters) 10 / int 10 % 6 &lt; if{ 1 (>L:Fire_On_True, bool) } els{ 1 (>L:Fire_On_True, bool) } (A:Radio height, meters) 10 / int 10 % (>L:Fire_Who, enum) }
</Value>
      </Select>
   </Element>


<Element>
      <Select>
<Value>
 (L:Fire_On_True, bool) (L:Fire_On, bool) &amp;&amp;
 (P:Absolute time, minutes) (L:Fire_Test_End, number) 1 + &gt; &amp;&amp; if{
(L:Fire_Who, enum) 0 == if{ (>K:YAW_DAMPER_OFF) 0 (>K:AUTOCOORD_OFF) 0 (>K:AP_WING_LEVELER_OFF) 
1 (>L:AP_Turn, enum) (A:ENG2 FAILED, bool) ! if{ 0 (>K:TOGGLE_ENGINE2_FAILURE) } }
(L:Fire_Who, enum) 1 == if{ (>K:MIXTURE1_LEAN) }
(L:Fire_Who, enum) 2 == if{ (>K:MIXTURE1_LEAN) }
(L:Fire_Who, enum) 3 == if{ (>K:MIXTURE1_LEAN) }
(L:Fire_Who, enum) 4 == if{ (>K:MIXTURE2_LEAN) }
(L:Fire_Who, enum) 5 == if{ (>K:MIXTURE2_LEAN) }
(L:Fire_Who, enum) 6 == if{ (>K:MIXTURE2_LEAN) }
(L:Fire_Who, enum) 7 == if{ (>K:YAW_DAMPER_OFF) 0 (>K:AUTOCOORD_OFF) 0 (>K:AP_WING_LEVELER_OFF) 
1 (L:AP_Turn, enum) (A:ENG1 FAILED, bool) ! if{ 0 (>K:TOGGLE_ENGINE1_FAILURE) } }
(L:Fire_Who, enum) 8 == if{ (A:CIRCUIT AVIONICS ON, bool) if{ (>K:TOGGLE_AVIONICS_MASTER) } }
(L:Fire_Who, enum) 9 == if{ (>K:AP_ALT_HOLD_OFF) 1 (>L:AP_Alt, enum) }
}
</Value>
      </Select>
   </Element>

<Element>
      <Select>
         <Value>
(L:Fire_Who, enum) 0 &gt; (L:Fire_Who, enum) 7 &lt;= &amp;&amp; if{ 12 (>G:Var1) } els{ 6 (>G:Var1) }
</Value>
      </Select>
   </Element>

<Element>
      <Select>
         <Value>
(L:Fire_On_True, bool) ! if{  (L:Fire_Test_End, number) 0.5 + (>L:Anti_Fire_End, number) } 
els{ (L:Antifire, bool) if{ (L:Anti_Fire_Start, number) (G:Var1) + (>L:Anti_Fire_End, number) } 
 els{ (P:Absolute time, minutes) (G:Var1) + (>L:Anti_Fire_End, number) } } }

</Value>
      </Select>
   </Element>


<Element>
      <Select>
         <Value>
(P:Absolute time, minutes) (L:Anti_Fire_End, number) &gt; if{ 0 (>L:Fire_On, bool) }
</Value>
      </Select>
   </Element>

<Element>
      <Select>
         <Value>
(L:Fire_On, bool)  (L:Fire_On_True, bool) &amp;&amp; if{ 0 (>K:SMOKE_ON) } els{ 0 (>K:SMOKE_OFF) }
</Value>
      </Select>
   </Element>

 

<Element>
<Position X="10" Y="10" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((P:Absolute time, minutes) int 100 %)%!2.2f!% Digit 1</String> 
 </Text>
  </Element>


<Element>
<Position X="10" Y="25" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((L:Fire_On_No, bool))%!1d!% Fire_On_No, bool</String> 
 </Text>
  </Element>

<Element>
<Position X="10" Y="40" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
  <String>%((L:Fire_On, bool))%!1d!% Fire_On, bool</String> 
 </Text>
  </Element>

<Element>
<Position X="10" Y="55" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
<String>%((A:Radio height, meters) 10 * int 100 %)%!02.2f!% Digit 4</String> 
 </Text>
  </Element>

  
<Element>
<Position X="10" Y="70" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((A:Radio height, meters))%!05.3f!% INDICATED ALTITUDE</String> 
 </Text>
  </Element>

<Element>
<Position X="10" Y="85" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((L:Anti_Fire_Start, number))%!12.2f!% Anti_Fire_Start, number</String> 
 </Text>
  </Element>

 
<Element>
<Position X="10" Y="100" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((L:Anti_Fire_End, number))%!12.2f!% Anti_Fire_End, number</String> 
 </Text>
</Element>

<Element>
<Position X="10" Y="115" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((A:Radio height, meters) 10 / int 10 %)%!2.2f!% Digit 5</String> 
 </Text>
</Element>


<Element>
<Position X="10" Y="130" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((L:Fire_On_True, bool))%!1d!% Fire_On_True</String> 
 </Text>
</Element>


<Element>
<Position X="10" Y="145" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((L:Fire_Test_End, number))%!12.2f!% Fire_Test_End</String> 
 </Text>
</Element>


<Element>
<Position X="10" Y="160" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((L:Fire_Who, enum))%!1d!% Fire_Who</String> 
 </Text>
</Element>

<Element>
<Position X="10" Y="175" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((A:ENG1 ANTI ICE, bool))%!1d!% E 1</String> 
 </Text>
</Element>


<Element>
<Position X="10" Y="190" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((A:ENG2 ANTI ICE, bool))%!1d!% E 2</String> 
 </Text>
</Element>


<Element>
<Position X="10" Y="205" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((L:Anti_FreezeW, bool))%!1d!% Anti_FreezeW</String> 
 </Text>
</Element>

<Element>
<Position X="10" Y="220" /> 
<Text X="400" Y="14" Bright="Yes" Length="100" Font="Arial" FontWeight="800"  Color="#FFFFCC" Adjust="Left" VerticalAdjust="Center" Multiline="No" Fixed="No">
 <String>%((A:PANEL ANTI ICE SWITCH, bool))%!1d!% ANTI ICE SWITCH</String> 
 </Text>
</Element>

   <Mouse>

 <Area Left="300" Top="0" Width="20" Height="100">
  <Cursor Type="Hand" /> 
  <Click>0 (>K:TOGGLE_STATIC_PORT_BLOCKAGE) </Click>
  </Area>
  </Mouse>


</Gauge>

Var_Fire.xml

Share this post


Link to post
Share on other sites
В 17.04.2013 в 16:40, serg_p пишет:

+ еще можно намутить с периодическим (по таймеру) переключением баков.

Будьте добры, можно пример прибора на xml, где реализован периодический вызов по таймеру ? Реально такое сделать - резидентный приборчик на xml ?

Вопрос снимаю, разобрался.

Edited by 4beer

Share this post


Link to post
Share on other sites

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

Коллеги!
Выручите пожалуйста (в который раз)...
Есть пара вопросов (но это только пока )))...

Как записать значение "или" вот в таком условии:

<Value>(L:VU1_switch,bool) ИЛИ (L:VU1_switch,bool) if{(L:Obogrev_AKB1-2_switch,bool) ! } </Value>

И ещё...
Нужно, что бы после нажатия произвольной кнопки загорелась и через две секунды погасла лампа вот в таком коде:

  <Element>
      <Select>
         <Value>(L:VU1_switch,bool) 1 == (P:Local Time,seconds) ?????? </Value>
         <Case Value="0">
            <Image Name="Lampa_2_0.bmp"/>
         </Case>
         <Case Value="1">
            <Image Name="Lampa_2_OTKAZ.bmp" Bright="Yes"/>
         </Case>
      </Select>
   </Element>

Опять тупо не знаю, какие знаки нужно писать.

Share this post


Link to post
Share on other sites
On 13/12/2017 at 7:57 PM, Казачок said:

Как записать значение "или" вот в таком условии:

<Value>(L:VU1_switch,bool) ИЛИ (L:VU1_switch,bool) if{(L:Obogrev_AKB1-2_switch,bool) ! } </Value>

|| - логическое "или".

<Value>(L:VU1_switch,bool) (L:VU1_switch,bool) || if{ (L:Obogrev_AKB1-2_switch,bool) ! }</Value>

Правда, не понимаю, зачем вы в качестве операндов указываете одну и ту же переменную. Также не совсем понимаю, что вы достигаете, поставив "!" после переменной внутри { }. Не забудьте пробел после if{

Про лампу - вы так просто не сделаете. Загрузите BlackBox3 и посмотрите, что вам выдаёт Local Time - это просто местное время. Для вашей задачи надо сделать простой таймер. Как его делать можно посмотреть в SDK, там есть пример прибора Stopwatch с рабочими выражениями.

  • Upvote 1

Share this post


Link to post
Share on other sites

Спасибо Вам!

Две одинаковые переменные - Это просто ошибка. Там (L:VU2_switch,bool) ещё должно быть.

Вообще я иногда, наверное, полную бредятину пишу.  Я не программист, Просто люблю модели самолётов немного улучшать, по возможности. Рисовать у меня чуть лучше выходит (Текстуры, иногда панели).

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

Часто уповаю только на Вашу помощь  в этой вот теме. Вот такие вот "муки творчества".

Ну ладно... Что-то я тут разнылся )). Пойду поищу чего нибудь с таймером.

Ещё раз спасибо за помощь! 

Share this post


Link to post
Share on other sites

Здравствуйте!

Есть вопрос:

Можно ли написать два тумблера, которые управляли бы одним событием, независимо друг от друга?  Например: Аккумулятор (или топливный насос двигателя 1) включается и выключается тумблером №1 или №2, или сразу №1 и №2.

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

Share this post


Link to post
Share on other sites

Можно всё :)

Вот вам приборы, расставьте, посмотрите. Вроде бы, ничего не забыл положить. Я их когда-то написал для мёртворождённого проекта. Если я правильно вас понял, они делают именно это: в частности, создают иллюзию наличия двух АКБ, используя единственную симовскую :) Вся логика находится в Stby_Test_Light.xml, а остальные два используются для переключения.

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

dual_bat.zip

  • Upvote 2

Share this post


Link to post
Share on other sites
31 минуту назад, ilya1502 пишет:

Можно всё :)

 

Огромное Спасибо!

Это именно то, что я искал. Мне действительно нужно создать иллюзию наличия двух АКБ (топливных насосов на один двигатель).

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

 

Share this post


Link to post
Share on other sites
32 minutes ago, Казачок said:

Логическую схему я тоже стараюсь себе представить

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

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...