Jet Engine Controller

Designing the controller

Jet_Engine_Model_V3

Browsable image of the model.

  • To download OpenWebStart click on the links -
    Windows- Compatibility:Windows 10 or higher (*)
    macOS - Compatibility:macOS 10.15 (Catalina) or higher (*)
    Linux - Compatibility:Ubuntu 18.04 LTS or higher (*)
  • For an executable version,
  • Mouse over the icons to view parameters. Click on hierarchy and plotters to reveal content (if provided).
  • To simulate, click on Launch button, open downloaded file and click Run on the Java Security Page.
Jet_Engine_Model_V3model <h2>IO_Board</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>_hideName</td><td>true</td><td>true</td></tr><tr><td>RPM_Sensor_Interval</td><td>RPM_Sensor_Interval*1.0e-3</td><td>1.0E-3</td></tr><tr><td>AS_Sensor_Interval</td><td>AS_Sensor_Interval*1.0e-3</td><td>1.0E-3</td></tr><tr><td>Temperature_Sensor_Interval</td><td>Temperature_Sensor_Interval*1.0e-3</td><td>1.0E-3</td></tr><tr><td>Throttling_Interval</td><td>Throttling_Interval*1.0e-3</td><td>0.005</td></tr></table> <h2>Power_Cord_1</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>_hideName</td><td>true</td><td>true</td></tr></table> <h2>Instrument_Output</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr></table> <h2>Database2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>*.xml, *.csv files abs or rel (./) path\\n  -- *.csv real columns set to number\\nInput_Fields == Lookup_Fields (num, type)\\nOutput_Expr: match, match_last, match_all\\n  -- match_all.field not allowed</td><td>*.xml, *.csv files abs or rel (./) path\\n  -- *.csv real columns set to number\\nInput_Fields == Lookup_Fields (num, type)\\nOutput_Expr: match, match_last, match_all\\n  -- match_all.field not allowed</td></tr><tr><td>Linking_Name</td><td>&quot;Partitioning&quot;</td><td>&quot;Partitioning&quot;</td></tr><tr><td>fileOrURL</td><td>&nbsp;</td><td>&quot;&quot;</td></tr><tr><td>Data_Structure_Text</td><td>Partition\tPeriod\t   ;\\n0               0.0       ;\\n1\t\t20.00e-3  ;\\n2\t\t35.00e-3  ;\\n3\t\t30.00e-3  ;\\n</td><td>Partition\tPeriod\t   ;\\n0               0.0       ;\\n1\t\t20.00e-3  ;\\n2\t\t35.00e-3  ;\\n3\t\t30.00e-3  ;\\n</td></tr><tr><td>Input_Fields</td><td>&quot;Partition&quot;</td><td>&quot;Partition&quot;</td></tr><tr><td>Lookup_Fields</td><td>&quot;Partition&quot;</td><td>&quot;Partition&quot;</td></tr><tr><td>Output_Expression</td><td>&quot;output = match&quot; /* FORMAT output = match.fieldb */</td><td>&quot;output = match&quot;</td></tr><tr><td>Mode</td><td>Read</td><td>Read</td></tr></table> <h2>Jet Engine Control Unit</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>_hideName</td><td>true</td><td>true</td></tr><tr><td>NumOfPartition</td><td>3</td><td>3</td></tr><tr><td>Processor_Board_Failure</td><td>Board_1</td><td>&quot;Board_1&quot;</td></tr></table> <h2>Database</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Mac_ID    :: Mac_ID Address   Identifier :: &quot;FF:FF&quot; Broadcast  \\nSR_Class  :: QoS, A or B      Mbps       :: BW for Stream</td><td>Mac_ID    :: Mac_ID Address   Identifier :: &quot;FF:FF&quot; Broadcast  \\nSR_Class  :: QoS, A or B      Mbps       :: BW for Stream</td></tr><tr><td>Linking_Name</td><td>&quot;TaskList&quot;</td><td>&quot;TaskList&quot;</td></tr><tr><td>fileOrURL</td><td>&nbsp;</td><td>&quot;&quot;</td></tr><tr><td>Data_Structure_Text</td><td>ID Task_Partition  Task_Name    Destination\t\t  Frequency     Semaphores A_Variables Timers A_Priority ExecTime Deadline ;       \\n1 \t1\t     Engine1      PPC750_1       1.0e-4        4\t\t        12         2\t101   \t  0.3e-3   0.40e-5 ; \\n2 \t1\t     Engine2      PPC750_1       3.0e-4        6\t\t        12         2\t102   \t  0.3e-3   0.40e-5 ;\\n3 \t1\t     Engine3      PPC750_1       4.0e-4        8\t\t        12         2\t103   \t  0.3e-3   0.40e-5 ;\\n4 \t1\t     Engine4      PPC750_1      10.0e-4        2\t\t        12         2\t104       0.3e-3   0.40e-3 ;\\n5 \t1\t     Brake1       PPC750_2       1.0e-4        2             12   \t   4\t101    \t  0.3e-3   0.40e-3 ; \\n6 \t1\t     Brake2       PPC750_2       3.0e-4        4             12   \t   6\t102    \t  0.3e-3   0.40e-3 ;\\n7 \t1\t     Brake3       PPC750_2        4.0e-4        2             12   \t   8\t103    \t  0.3e-3   0.40e-3 ;\\n8 \t1\t     Brake4       PPC750_2       10.0e-4        2             12   \t   2\t104       0.3e-3  0.40e-3 ;\\n9 \t2\t     Body1        PPC750_2        1.0e-4        2             12   \t   4\t101       0.3e-3  0.40e-3 ; \\n10 \t2\t     Body2        PPC750_2        3.0e-4        4             12   \t   6\t102       0.3e-3  0.40e-3 ;\\n11 \t2\t     Body3        PPC750_2        4.0e-4        2             12   \t   8\t103       0.3e-3  0.40e-3 ;\\n12 \t2\t     Body4        PPC750_2       10.0e-4        2             12   \t   2\t104       0.3e-3  0.40e-3 ;\\n13 \t3\t     Safety1      PPC750_1        1.0e-4        2             12   \t   4\t101    \t  0.3e-3   0.40e-3 ; \\n14 \t3\t     Safety2      PPC750_1        3.0e-4        4             12   \t   6\t102    \t  0.3e-3   0.40e-3 ;\\n15 \t3\t     Safety3      PPC750_1        4.0e-4        2             12   \t   8\t103    \t  0.3e-3   0.40e-3 ;\\n16 \t3\t     Safety4      PPC750_1       10.0e-4        2             12   \t   2\t104    \t  0.3e-3   0.40e-3 ;\\n17 \t3\t     Accelerate   PPC750_1       10.0e-4        2             12   \t   2\t104    \t  0.3e-3   0.40e-3 ;\\n18 \t3\t     Decelerate   PPC750_1       10.0e-4        2             12   \t   2\t104    \t  0.3e-3   0.40e-3 ;</td><td>ID Task_Partition  Task_Name    Destination\t\t  Frequency     Semaphores A_Variables Timers A_Priority ExecTime Deadline ;       \\n1 \t1\t     Engine1      PPC750_1       1.0e-4        4\t\t        12         2\t101   \t  0.3e-3   0.40e-5 ; \\n2 \t1\t     Engine2      PPC750_1       3.0e-4        6\t\t        12         2\t102   \t  0.3e-3   0.40e-5 ;\\n3 \t1\t     Engine3      PPC750_1       4.0e-4        8\t\t        12         2\t103   \t  0.3e-3   0.40e-5 ;\\n4 \t1\t     Engine4      PPC750_1      10.0e-4        2\t\t        12         2\t104       0.3e-3   0.40e-3 ;\\n5 \t1\t     Brake1       PPC750_2       1.0e-4        2             12   \t   4\t101    \t  0.3e-3   0.40e-3 ; \\n6 \t1\t     Brake2       PPC750_2       3.0e-4        4             12   \t   6\t102    \t  0.3e-3   0.40e-3 ;\\n7 \t1\t     Brake3       PPC750_2        4.0e-4        2             12   \t   8\t103    \t  0.3e-3   0.40e-3 ;\\n8 \t1\t     Brake4       PPC750_2       10.0e-4        2             12   \t   2\t104       0.3e-3  0.40e-3 ;\\n9 \t2\t     Body1        PPC750_2        1.0e-4        2             12   \t   4\t101       0.3e-3  0.40e-3 ; \\n10 \t2\t     Body2        PPC750_2        3.0e-4        4             12   \t   6\t102       0.3e-3  0.40e-3 ;\\n11 \t2\t     Body3        PPC750_2        4.0e-4        2             12   \t   8\t103       0.3e-3  0.40e-3 ;\\n12 \t2\t     Body4        PPC750_2       10.0e-4        2             12   \t   2\t104       0.3e-3  0.40e-3 ;\\n13 \t3\t     Safety1      PPC750_1        1.0e-4        2             12   \t   4\t101    \t  0.3e-3   0.40e-3 ; \\n14 \t3\t     Safety2      PPC750_1        3.0e-4        4             12   \t   6\t102    \t  0.3e-3   0.40e-3 ;\\n15 \t3\t     Safety3      PPC750_1        4.0e-4        2             12   \t   8\t103    \t  0.3e-3   0.40e-3 ;\\n16 \t3\t     Safety4      PPC750_1       10.0e-4        2             12   \t   2\t104    \t  0.3e-3   0.40e-3 ;\\n17 \t3\t     Accelerate   PPC750_1       10.0e-4        2             12   \t   2\t104    \t  0.3e-3   0.40e-3 ;\\n18 \t3\t     Decelerate   PPC750_1       10.0e-4        2             12   \t   2\t104    \t  0.3e-3   0.40e-3 ;</td></tr><tr><td>Input_Fields</td><td>&quot;Task_Name&quot;</td><td>&quot;Task_Name&quot;</td></tr><tr><td>Lookup_Fields</td><td>&quot;Task_Name&quot;</td><td>&quot;Task_Name&quot;</td></tr><tr><td>Output_Expression</td><td>&quot;output = match&quot; /* FORMAT output = match.fieldb */</td><td>&quot;output = match&quot;</td></tr><tr><td>Mode</td><td>Read</td><td>Read</td></tr></table>
Mouse over the icons to see their parameters. Click on composites and plotters to reveal their contents (if provided).

Model Overview

Purpose of this model is to conduct performance analysis of Jet engine control system. Primary requirements of the simulation model is to capture end to end latency for Throttle control signals, impact of throttle control signals on the engine task processing, distribution of tasks between multi-core PowerPC Processing platform, instantaneous and average power consumption of the complete system. These analysis helps the designer to assure that the selected processing platform is capable of processing both engine and throttle control tasks without exceeding power and performance requirements.

The simulation model has 3 cords, IO Cord, Processor Cord and Power Cord. IO cord has interfaces to the RPM sensor, Air Speed Sensor, temperature sensor and Throttle PWM sensor. Processor Cord has 2 PowerPC Processor modules, memory and interconnects. ARINC 653 is modeled to perform time and space partition. We have considered 3 partitions and the tasks can be sceduled to run on different partitions.

Reports:

Following reports are generated:
  1. Throttle Response Time
  2. Engine Task Processing Latency
  3. Processor MIPS
  4. Instantaneous and Average Power Consumption
  5. Info on RPM, Temperature, Air Speed, Latency on Processor Board, MIPS
  6. Max, Min, Mean MIPS
  7. Processor Board Statistics 

Fig. 1 Processor PowerPC 750 MIPS plot

Fig. 2 Throttle Response Time

Fig. 3 Engine Task Latency

Fig. 4 Instantaneous and Average Power Plot

Fig. 5 Engine Stats