Embedded Software

Embedded Software

Cabin Pressurization Control System with SCADE (Guest Article – Student – Cinvestav)

    • SolutionSolution
      Participant

      Guest Article – Student – Cabin Pressurization Control System with SCADE

      This article is a guest contribution from Cinvestav. It was written by a student group as part of Masters-level, semester long SCADE academic program course.

      It explains the design and simulation of a system that controls the cabin pressure of an aircraft with a model-based design approach with Ansys SCADE. This article explains the design made from the system requirements, verification, coverage, and finally some scenarios of a simulation made of a control panel.

      If you are an academic and are interested in teaching an engineering curriculum backed by Ansys tools, please have a look at our Ansys Funded Curriculum page.



      Summary

      Cabin pressurization is a critical system for every aircraft unit, in order to keep a safe and comfortable cabin pressure.

      In this context, Ansys Scade was used to model the entire system and control the cabin pressure through the regulation of the aircraft’s inflow and outflow valves. To achieve safe control, the CPCS can operate in one of the following modes: Auto, Manual, and Emergency. Each of these modes calculates the pressurization rate command, which is sent to a designed aircraft model in a closed loop with the CPCS. Finally, a Rapid Prototyper of a cockpit panel control is implemented in the simulation.

      CPCS

      OPERATION

      The CPCS controller sends a pressurization rate command to the aircraft, where the pressurization rate is converted into the opening of the adjustable outflow valves. Additionally, a rapid depressurization command is sent from the CPCS controller to the aircraft, indicating whether an emergency valve will be fully opened or not, allowing air to enter and pressurize the cabin.

      The CPCS operation modes can be one of the following:

      • Auto. In this mode the pressurization rate is calculated by a PI controller.
      • Manual. In this mode the pressurization rate is equal to the command entered by the user in the control panel.
      • Emergency. In this mode the outflow valves close and the emergency valve opens.

      If the cabin altitude exceeds the maximum allowed altitude of 15,000 ft, the CPCS automatically enters Emergency mode. It remains in Emergency mode until the cabin altitude drops below the release threshold of 10,000 ft, at which point it returns to the mode selected by the user.

      The CPCS also measures the differential pressure between the aircraft’s altitude and the cabin altitude. If the measured differential pressure exceeds the maximum allowed differential pressure of 6.5 psi, the CPCS notifies the user to reduce the aircraft’s altitude and, therefore, the differential pressure.

      FEATURES

      The maximum value of the pressurization rate command is dictated by the physics of the valves and the cabin, as well as other physical parameters like temperature, with these values set at 500 fpm for the outflow valves and 3000 fpm for the emergency valves.

      In Auto mode, the altitude that the controller will maintain is referred to as the target altitude. The CPCS maintains the cabin altitude at 8,000 ft when the aircraft’s altitude is above this altitude. Otherwise, the target altitude is the aircraft’s altitude.

      The system has two alarms: one for rapid depressurization emergencies and another for differential pressure. It also displays the cabin altitude, aircraft altitude, and the pressurization rate command.

      Design

      REQUIREMENTS

      Some examples of implemented requirements are the following:

      For behavior:

      CPCS_HLR_BE _04: If rapid depressurization is measured, then CPCS shall be automatically and immediately in EMERGENCY mode.

      For cabin pressure control:

      CPCS_HLR_CPC_03: When CPCS mode is in AUTO, cabin pressure shall be automatically regulated to maintain the target altitude provided.

      For target altitude:

      CPCS_HLR_TA_01: When CPCS mode is in AUTO and aircraft altitude is below RegularCabinAltitude, target altitude shall be aircraft altitude.

      CPCS_HLR_TA_02: When CPCS mode is in AUTO and aircraft altitude is above RegularCabinAltitude, target altitude shall be RegularCabinAltitude.

      For rapid depressurization:

      CPCS_HLR_RD_01: CPCS shall immediately activate rapid depressurization if cabin altitude is above MaxCabinAltitude.

      For differential pressure:

      CPCS_HLR_DIFF_01: CPCS shall display an alarm on the control panel if measured differential pressure has exceed the MaxDiffPressure.

      Parameters:

      CPCS_HLR_PAR_01: RegularCabinAltitude: 8000 ft.

      CPCS_HLR _PAR_02: MaxCabinAltitude: 15000 ft.

      CPCS_HLR _PAR_03: MaxDiffPressure: 6.5 psi.

      CPCS_HLR _PAR_04: ReleaseEmerAltitude: 10000 ft.

      MODEL

      Call Graph
      • CPCS
        • CPCS Controller
          • CPCS
          • DiffMeasurement
          • FtoM
          • FtoPsi
          • PressRateRegul
          • RapidDepress
        • Aircraft
          • AircraftModel
          • InflowTurbinePressure
          • Valves
          • ValvesRegulator
        • System
          • SystemSimul
      SystemSimul

      SystemSimul is the root operator, which contains the closed loop architecture of the CPCS with the aircraft. The CPCS sends the pressurization rate and rapid depressurization commands to the aircraft. The aicraft then calculates the new cabin altitude and sends this data back to the CPCS, completing the feedback loop.



      CPCS

      The CPCS controller has a state machine for the operating modes. Each mode controls the pressurization rate command output. At the same time, the DiffMeasurement operator and the RapidDepress functions work at any mode.





      DiffMeasurement

      The DiffMeasurement function operator calculates the differential pressure and activates the alarm if it is above the max diff pressure.



      FtoM

      This function operator converts the input value feet to meters. This models the equation:

      $$M = 0.3048 ft$$



      FtoPsi

      The FtoPsi function operator converts the altitude in feet to its corresponding pressure value in psi. This is mathematical expression:

      $$14.7 \times \left(1 – \frac{0.0065 \times M}{288.15} \right)^{5.2561}$$

      First, the altitude in feet is converted to meters to then execute the above equation.



      PressRateRegul

      PressRateRegul node operator is a band limited close loop feedback PI controller. The integral and proportional constants were calculated for a critically dumped answer. The libilnear library, contains the integral operator.

      The next table shows all the parameters used in PressRateRegul operator.




      RapidDepress

      RapidDepress node operator controls the rapid depressurization alarm. As mentioned before, if the cabin altitude exceeds the max cabin altitude, alarm will be activated till the cabin altitude drops below the release emergency altitude threshold.



      AircraftModel

      AircraftModel node operator manipulates the input pressurization rate command and rapid depressurization and outputs the corrected cabin altitude, outflow valve opening and safety opening.



      ValvesRegulator

      The ValvesRegulator function operator translates and converts the pressurization rate command and the rapid depressurization alarm into the valve opening, within a range of 0 to 1.



      InflowTurbinePressure

      InflowTurbinePressure function operator calculates and outputs the inflow pressurization rate in feet per minute that comes from the turbine.



      Valves

      Valves node operator calculates the new cabin altitude in accordance to the valves opening coming from the ValvesRegulator operator.



      VERIFICATION

      Tests

      Two records were created to include all the requirements needed. The first record includes the CPCS Behavior, where the scenario includes some tests for the operating modes, the target altitude and the manual pressurization rate.

      In the second record, emergencies scenarios were included to verify the function of the emergency mode for the rapid depressurization, as well as for the max differential pressure.



      CPCS_Behavior scenario:

      ## inputs
      SSM::set PressRateManual 150.0
      SSM::set AircraftAltitude 35000.0
      SSM::set ModeSel Auto
      
      # CPCS_HLR_BE_01
      # When the system starts, CPCS shall be in Auto mode
      SSM::cycle 1
      SSM::check Mode Auto
      SSM::cycle 1
      
      # CPCS_HLR_BE_03
      # When the Manual is selected, CPCS shall be immediately in Manual mode
      SSM::set ModeSel Manual
      SSM::cycle 1
      SSM::check Mode Manual
      SSM::cycle 1
      
      # CPCS_HLR_CPC_01
      # When CPCS is in Manual. cabin pressure shall be regulated by manually recording
      # the pressurization rate in the cabin control panel
      SSM::set PressRateManual 200.0
      SSM::check PressRateCmd 200.0
      SSM::cycle 1
      

      Emergencies scenario:

      # Take the cabin altitude close to EmergencyAltitude (15000.0 ft)
      SSM::cycle 43
      
      # CPCS_HLR_RD_01: CPCS shall immediately activate rapid depressurization if cabin altitude is above EmergencyAltitude
      # CPCS_HLR_BE_04: If rapid depressurization is measured, then CPCS shall be immediately and automatically in Emergency mode
      # CPCS_HLR_RD_03: CPCS shall immediately open the safety inflow valve to pressurize at 3000 fpm if rapid depressurization is active
      SSM::check RapidDepress true
      SSM::check Mode Emergency
      SSM::check SafetyOpening 1.0
      SSM::cycle 2
      
      # CPCS_HLR_BE_05
      # When CPCS is in Emergency and the cabin altitude is below ReleaseEmerAlt
      # CPCS shall return to Auto
      SSM::set ModeSel Auto
      SSM::check CabinAltitude {x-> x < 10000.0}
      SSM::check Mode Auto
      SSM::cycle 1
      
      # CPCS_HLR_DIFF_01: CPCS shall display an alarm in the control panel if measured diff pressure exceeds MaxDiffPressure
      # CPCS_HLR_DIFF_02: CPCS shall display the values of the measured diff pressure and cabin altitude
      SSM::set AircraftA1titude 50000.0
      SSM::check DiffPressureAlarm true
      SSM::check DiffPressure {x-> x > 6.5}
      SSM::cycle 1
      
      Coverage




      SIMULATION

      To demonstrate the application of the CPCS, a Rapid Prototyper was designed using SCADE. This prototyper allows connections between inputs and outputs and the manipulation of these signals in simulation of the root operator SystemSimul. The prototyper displays a cockpit control panel with some of the required values and measurements, enabling users to observe the response of the CPCS to different situations.



      On the upper right side of the control panel are the mode selector, manual pressurization rate, and aircraft altitude, simulating the barometer sensor. On the lower right side, there are two counters: one for the differential pressure and another for the cabin altitude.

      On the upper left side, there is an LED alarm for rapid depressurization and another LED for maximal differential pressurization. Below these alarms, there is a graph of the altitudes: in green, the cabin altitude, and in blue, the aircraft’s altitude, each with its own altitude marker. At the bottom, there is a graphical representation of the valve openings, with black indicating fully closed and white indicating fully open.

      Next are some situations to proof the correct operation of the CPCS.

      Scenario 1 – Depressurizing

      In this context, mode is Auto, the aircraft is near 35,000 ft, and the cabin altitude is 8,000 ft. The graphic shows the regulation of the cabin altitude with the PI control, making the form of a critically dumped control.



      Scenario 2 – Pressurizing

      In this situation, mode is Auto and the cabin altitude is getting low to stay at the same aircraft’s altitude.



      Scenario 3 – Max diff press

      In this situation, the aircraft’s altitude is set to nearly 45,000 ft, while the cabin altitude remains at 8,000 ft. The pressure difference exceeds the maximum expected 6.5 psi. The pilot should then decrease the aircraft’s altitude.



      Scenario 4 – Rapid depressurization

      In this scenario, the mode is manual, and the manual pressurization rate is set at 420 fpm. When the cabin altitude exceeds the maximum cabin altitude of 15,000 ft, the rapid depressurization alarm is activated, and the safety valve opens.



      MBD and SCADE

      Incorporating Model-Based Design (MBD) into my project has been instrumental in transforming the development process. By leveraging MBD principles, I created detailed system models that accurately represented my design. These models enabled me to simulate and analyze the system’s behavior comprehensively before physical implementation.

      Throughout the testing and validation phases, MBD facilitated rigorous testing against my models, ensuring that the final system met all requirements and specifications. This iterative process of model refinement based on testing feedback was essential in achieving a robust and reliable solution.

      Integrating SCADE Suite and SCADE Rapid Prototyper into my project has been vital in applying Model-Based Design (MBD) principles effectively. SCADE Suite provided a robust environment for creating detailed system models using graphical block diagrams. This allowed me to develop complex logic and control algorithms visually, ensuring accuracy and reliability from the outset.

      With SCADE Rapid Prototyper, I was able to simulate and validate the behavior of my designs in real- time. This capability was essential for early detection of design flaws and optimization of system performance before physical implementation.

      About the authors

      Isaac Hernandez and Alejandro Pardo Ordaz are Embedded Systems students in Guadalajara, Mexico. They developed this model and article as part of a course on Programming and Design based on Embedded Systems Modeling.

      Bibliography

      • Gregory N. Brown & Mark J. Holt. The Turbine Pilot’s Flight Manual. Third edition, Aviation Supplies & Academics Inc.: 2012.
      • David Wyatt & Mike Tooley. Aircraft electrical and electronic systems. Second edition, Routledge: 2018.
      • Ian Moir & Allan Seabridge. Aircraft sytems: mechanical, electrical and avionics subsystems integration. Third edition, John Wiley & Sons, Ltd: 2008.