On this page you can find additional information and parameters that are used when setting up the Electrical Systems for an aircraft.

 

 

Numeric Inputs

Previous iterations of electrical systems in FSX and Microsoft Flight Simulator 2020 used either a curve or a value as part of the input, and if you used a curve then it would be automatically interpolated based on the component properties (APU, engine generator, battery voltage, etc…). However this led to a certain inflexibility in the setup of the electrics, and as such the current system has removed these hard-coded dependencies as much as possible, meaning that any numeric input is now either a parameter constant or a curve.

 

The two types of parameter constants that can be used as numeric input are as follows:

  • SimVars: For example you can use the following to get the first engine RPM.

    \[data.simvar(GENERAL ENG RPM:1, rpm)\]

  

  • Global Variables: For example the following gets the global (user created) variable GLOBAL_VAR as a boolean.

    \[data.globalvar(GLOBAL\_VAR, bool)\]

 

Here is a full example setting up a Generator where a constant parameter is being used, the SimVar GENERAL ENG PCT MAX RPM, along with a curve:

generator.1 = Name:LH_ACGenerator # Vrms:115 # PowerRating:90 # GovernedRPM:[data.simvar(GENERAL ENG RPM:1, rpm)] #ReferenceRPM:2000 #ReferenceFrequency:400

 

These different types of parameter constant can be used directly as an input for any hash-map parameter in any component in the electrical system.

 

It is worth noting that for curves you can supply an additional value to re-map the curve that has been given to be within a different range. The supplied value should be enclosed in () after the curve path, for example:

/* A curve */
curve.1 = Name:MyCurve #Points: 100:0, 500:27, 800:28
/* Using that curve to remap the aircraft ram air RPM to a voltage */
supplier.1 = (...) GovernedRPM:[curve.MyCurve([data.simvar(GENERAL ENG RPM:1, rpm)])]

If you are unsure what value to use then simply supply a 1 so no re-mapping is applied.

 

Finally, some commonly used real life values are exposed for your use as parameters, such as the chemical voltage of a cell given its current capacity for different compositions, eg: Lithium-Ion, NiCad, etc… You can find these built-in values from the links below:

 

 

Consumers/Suppliers And Inline Setup

It is important to be aware of the fact that all Supplier and Consumer data should be in one place, ie: it can be in either a supplier, or a consumer, but not in both. If a supplier/consumer is given to a component as part of the component definition, then all other supplier/consumer parameters given directly in the item definition will be ignored. Essentially, supplier/consumer configurations have priority over “inline” configurations.

 

Consider the following consumer and circuit definitions:

consumer.6 = Name:ConsumerStarter #Voltage:24 #Wattage:3500
consumer.7 = Name:ConsumerFuelPump #Voltage:24 #Amperage:2
circuit.4 = Type:CIRCUIT_STARTER #ConsumerCfg:ConsumerStarter #Name:StarterB
circuit.5 = Type:CIRCUIT_PITOT_HEAT #Voltage:12 #Wattage:40 #Name:PitotHeat
circuit.6 = Type:CIRCUIT_FUEL_PUMP #ConsumerCfg:ConsumerFuelPump #Wattage:48 #Name:FuelPumpA #WearAndTearCollision:GlobalDamage

In the example above, circuits 4 and 5 are valid, but in circuit 6, the wattage will be ignored because a consumer configuration has already been given, and so the information from the consumer will be used.

 

 

Cell Types

The following built-in battery cell types are available for use in the Supplier component. These are simply easy to remember parameters that are used instead of hard-coding the underlying Curve values. In the tables below, the values given here for the curves are for a single cell of the given battery type.

NOTE
The C-rate represents the amount of time in which the battery goes from fully charged to empty, 1C means the battery empties in 1 hour. In the simulation, we use curves measured at 0.1 C-rate for the low loads (ie: 10 hours of battery life), and 15 C-rate for the high loads (4 minutes of battery life).

 

  • LithiumIon

    Using this parameter you’ll get the values appropriate for a battery of the type lithium ion. This battery has the following curves:

     

    State of Charge % (”SOC”)Low Load Cell Voltage (V)

    (0.1 C-rate)

    High Load Cell Voltage (V)

    (15 C-rate)

    03.12.8
    103.33.0
    203.653.18
    303.753.25
    403.753.32
    603.753.39
    703.753.395
    803.753.405
    903.83.41
    1004.153.62

    !

 

  • NiZn

    Using this parameter you’ll get the values appropriate for a battery of the type nickel-zinc. This battery has the following curves:

     

    State of Charge % (”SOC”)Low Load Cell Voltage (V)

    (0.1 C-rate)

    High Load Cell Voltage (V)

    (15 C-rate)

    01.30
    101.61.3
    201.641.45
    301.661.49
    401.691.5
    601.701.51
    701.711.52
    801.721.52
    901.761.55
    1001.851.85

    !

 

  • LeadAcid

    Using this parameter you’ll get the values appropriate for a battery of the type lead-acid. This battery has the following curves:

     

    State of Charge % (”SOC”)Low Load Cell Voltage (V)

    (0.1 C-rate)

    High Load Cell Voltage (V)

    (15 C-rate)

    01.80
    101.920
    201.940
    301.970
    401.990
    602.020
    702.041.46
    802.061.55
    902.081.62
    1002.11.66

    !

 

  • NiCd

    Using this parameter you’ll get the values appropriate for a battery of the type nickel-cadmium. This battery has the following curves:

     

    State of Charge % (”SOC”)Low Load Cell Voltage (V)

    (0.1 C-rate)

    High Load Cell Voltage (V)

    (15 C-rate)

    010
    101.150
    201.170
    301.180
    401.190
    601.21.05
    701.21.09
    801.21.095
    901.221.1
    1001.31.15

    !

 

You can see how these battery parameters are used in the example below:

supplier.1 = Name:SupplierBatteryA #SType:Battery #BatteryType:NiCd
battery.1 = Name:MAIN_BATTERY #ConsumerCfg:ConsumerBatteryA #SupplierCfg:SupplierBatteryA

 

To compute the output voltage of a battery, the simulation estimates the voltage for one cell from low and high voltage curves, depending on battery type. It first determines the C-rate from the load currently drawn from the battery, and then an interpolation is performed to get a voltage value between the low and high load voltage curves. Once the simulation has calculated the voltage of one cell, it is multiplied by the number of cells in the battery that was determined from the battery nominal voltage at the time of the aircraft spawning.

 

With this method, output voltage depends on the state of the battery charge and load, as well as the Wear and Tear amount, ie: more load, more wear, and less remaining capacity, will all result in less voltage output.

 

 

Trip Curves

A trip curve is used to define how much of an overload a Connection component can sustain before tripping the Breaker. The overload is based on IEC(opens in a new tab) and IEEE(opens in a new tab) formulas that give a duration before overload for a given load and design load. Within the simulation these have been transferred into built in parameters that you can use, following the format as outlined in the section on Numeric Inputs. For example:

breaker.1 = Name:A_Breaker # RatedCurrent:5 # TripCurveType:IEC_Vinv

The main trip-curves relating to both standards are built into the simulation as easy to remember parameters which can be used where necessary:

 

Parameter

Description

Curve Values

Formula

IEC_Sinv

Standard inverse trip curve.

0.14, 00.2

$$\frac{k}{(\frac{I}{I_S})^a - 1}$$

 

Curve values are (k, a)

IEC_Vinv

Very inverse trip curve.

13.5, 1

IEC_Einv

Extremely inverse trip curve.

80, 2

IEC_LTSinv

Long time standard inverse trip curve.

120, 1

IEEE_Vinv

Very inverse trip curve.

19.61, 0.491, 2

$$\frac{A}{(\frac{I}{I_S})^p - 1} + B$$

 

Curve values are (A, B, p)

IEEE_Minv

Moderately inverse trip curve.

28.2, 0.1217, 2

IEEE_Einv

Extremely inverse trip curve.

0.0515, 0.114, 0.02

 

 

Circuit Types

When defining any circuit.N for the electrical system, the first parameter of the hash-map is a variable that defines the type of circuit. The table below shows all the variables that correspond to each of the available types as well as a brief description of what that circuit controls.

 

TypeIndexDescription
CIRCUIT_INVALID0Invalid circuit which has no direct impact on sim state.
CIRCUIT_XML1Generic circuit which has no direct impact on sim state, and is designed for use when creating your own custom behaviours logic.
CIRCUIT_GENERAL_PANEL2Circuit checked for general power availability.
CIRCUIT_FLAP_MOTOR3Circuit turned on when flaps are moving (if electrical).
CIRCUIT_GEAR_MOTOR4Circuit turned on when landing gears are moving (if electrical).
CIRCUIT_AUTOPILOT5Circuit checked for autopilot availability.
CIRCUIT_AVIONICS6Circuit checked for avionics availability.
CIRCUIT_PITOT_HEAT7Circuit controlling pitot heat state.
CIRCUIT_PROP_SYNC8Circuit controlling prop sync.
CIRCUIT_AUTO_FEATHER9Circuit controlling auto feathering.

NOTE: Please see the Note On Autofeathering for more information.
CIRCUIT_AUTO_BRAKES10Circuit controlling auto brakes.
CIRCUIT_STANDBY_VACUUM11Circuit controlling standby vacuum.
CIRCUIT_MARKER_BEACON12Circuit checked for beacon marker system availability.
CIRCUIT_GEAR_WARNING13Circuit checked for gear warning system availability.
CIRCUIT_HYDRAULIC_PUMP14Circuit controlling a [HYDRAULIC_SYSTEM_EX1] pump (one circuit per-pump only, you cannot control multiple pumps off a single circuit). See the section on Pump.N for more information.
CIRCUIT_HYDRAULIC_VALVE15Circuit controlling a [HYDRAULIC_SYSTEM_EX1] valve (one circuit per-valve only, you cannot control multiple valve off a single circuit). See the section on Valve.N for more information.
CIRCUIT_FUEL_PUMP16Circuit controlling a [FUEL_SYSTEM] electrical pump (one circuit per-pump only, you cannot control multiple pumps off a single circuit). See the section on Pump.N for more information.
CIRCUIT_FUEL_TRANSFER_PUMP17Circuit controlling electrical fuel transfer pumps.
CIRCUIT_PROP_DEICE18Circuit controlling prop deicing.
CIRCUIT_STARTER19Circuit controlling electrical starter state.
CIRCUIT_LIGHT_NAV20Circuit controlling navigation light state.
CIRCUIT_LIGHT_BEACON21Circuit controlling beacon light state.
CIRCUIT_LIGHT_LANDING22Circuit controlling landing light state.
CIRCUIT_LIGHT_TAXI23Circuit controlling taxi light state.
CIRCUIT_LIGHT_STROBE24Circuit controlling strobe light state.
CIRCUIT_LIGHT_PANEL25Circuit controlling panel light state.
CIRCUIT_LIGHT_RECOGNITION26Circuit controlling recognition light state.
CIRCUIT_LIGHT_WING27Circuit controlling wing light state.
CIRCUIT_LIGHT_LOGO28Circuit controlling logo light state.
CIRCUIT_LIGHT_CABIN29Circuit controlling cabin light state.
CIRCUIT_LIGHT_PEDESTAL30Circuit controlling pedestal light state.
CIRCUIT_LIGHT_GLARESHIELD31Circuit controlling glareshield light state.
CIRCUIT_DIRECTIONAL_GYRO32Circuit checked for directional gyro system availability.
CIRCUIT_DIRECTIONAL_GYRO_SLAVING33Circuit checked for directional gyro slaving system availability.
CIRCUIT_NAV34Circuit checked for NAV system availability.
CIRCUIT_COM35Circuit checked for COM system availability.
CIRCUIT_PFD36Circuit checked for PFD system availability.

Currently not used in the simulation, but can be used in custom behaviour logic.__
CIRCUIT_MFD37Circuit checked for MFD system availability.

Currently not used in the simulation, but can be used in custom behaviour logic.__
CIRCUIT_ADC_AHRS38Circuit checked for ADC and AHRS system availability.

Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_FIS39Circuit checked for FIS system availability.

Currently not used in the simulation, but can be used in custom behaviour logic.__
CIRCUIT_ADF_DME40Circuit checked for ADF and DME system availability.

Currently not used in the simulation, but can be used in custom behaviour logic.__
CIRCUIT_XPNDR41Circuit checked for transponder system availability.
CIRCUIT_TURN_COORDINATOR42Circuit checked for turn coordinator system availability.
CIRCUIT_AUDIO43Circuit checked for audio system availability.
CIRCUIT_AVNFAN44Circuit checked for avionics fan system availability.

Currently not used in the simulation, but can be used in custom behaviour logic.__
CIRCUIT_GPS45Circuit checked for avionics GPS system availability.
CIRCUIT_INST46Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_INST_LIGHTS47Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_ALTFLD48Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_WARN49Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_LTS_PWR50Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_ATTITUDE_INDICATOR51Circuit checked for attitude indicator availability (if electrical).
CIRCUIT_STALL_WARNING52Circuit checked for stall warning availability (if electrical).
CIRCUIT_APU_STARTER53Circuit controlling APU starter state.
NOTE: While it appears that you can define multiple APU circuits in an aircraft, currently the simulation will only permit one APU definition to work. This may change in future updates.
CIRCUIT_FUEL_VALVE54Circuit controlling a [FUEL_SYSTEM] valve (one circuit per-valve only, you cannot control multiple valves off a single circuit). See the section on Valve.N for more information.
CIRCUIT_WING_FOLD55Circuit controlling the wing folding system (if available).
CIRCUIT_ELECTRIC_ENGINE56Circuit controlling the electric engine (if available).
CIRCUIT_PNEUMATICS_VALVE57Circuit controlling a [PNEUMATIC_SYSTEM_EX1] valve (one circuit per-valve only, you cannot control multiple valves off a single circuit). See the section on Valve.N for more information.
CIRCUIT_PNEUMATICS_PACK58Circuit controlling a [PNEUMATIC_SYSTEM_EX1] pack (one circuit per-pack only, you cannot control multiple packs off a single circuit). See the section on Pack.N for more information.
CIRCUIT_CABIN_SIGNAL_GO59Circuit controlling the “go” light of the inside cabin (for skydiving and other activities).
CIRCUIT_CABIN_SIGNAL_STANDBY60Circuit controlling the “standby” light of the inside cabin (for skydiving and other activities).
CIRCUIT_CABIN_SIGNAL_STOP61Circuit controlling the “stop” light of the inside cabin (for skydiving and other activities).
CIRCUIT_LIQUID_DROPPING_DOOR62Circuit controlling a [Liquid Dropping System] door. See the section on Door.N for more information.
CIRCUIT_LIQUID_DROPPING_SCOOP63Circuit controlling a [Liquid Dropping System] scoop. See the section on Scoop.N for more information.

Currently not used in the simulation, but can be used in custom behaviour logic.__
CIRCUIT_ROTOR_BRAKE64Circuit controlling the rotor brake (helicopters only).
CIRCUIT_HOIST65Circuit controlling the hoist, if available.
CIRCUIT_SLING66Circuit controlling the sling, if available.
CIRCUIT_PNEUMATICS_FAN67Circuit controlling a [PNEUMATIC_SYSTEM_EX1] fan. See the section on Fan.N for more information.
CIRCUIT_ROTOR_CLUTCH68Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_INTERACTIVE_POINT69Currently not used in the simulation, but can be used in custom behaviour logic.
CIRCUIT_DEICE70Circuit controlling the DEICE_SYSTEM when this is set to structural deice type 4 (electrical). Note that only the first circuit defined of this type will actually control the structural deicing system, and so it will only run when this circuit is on.
 

 

Key Events

The table below shows the different key event IDs that can be used to modify things within the electrical system of an aircraft. These are often used along with the Aircraft Electrics Variables to control the electrical systems with the aircraft. For more details on how to use these events, please see here: Event ID’s As Key Events.

 

Key Event IDKey Event ID
ALL_LIGHTS_TOGGLEELECTRICAL_EXTERNAL_POWER_BREAKER_TOGGLE
ALTERNATOR_OFFELECTRICAL_LINE_BREAKER_SET
ALTERNATOR_ONELECTRICAL_LINE_BREAKER_TOGGLE
ALTERNATOR_SETELECTRICAL_LINE_CONNECTION_SET
AVIONICS_MASTER_1_OFFELECTRICAL_LINE_CONNECTION_TOGGLE
AVIONICS_MASTER_1_ONFUEL_TRANSFER_CUSTOM_INDEX_TOGGLE
AVIONICS_MASTER_1_SETGLARESHIELD_LIGHTS_OFF
AVIONICS_MASTER_2_OFFGLARESHIELD_LIGHTS_ON
AVIONICS_MASTER_2_ONGLARESHIELD_LIGHTS_POWER_SETTING_SET
AVIONICS_MASTER_2_SETGLARESHIELD_LIGHTS_SET
AVIONICS_MASTER_SETGLARESHIELD_LIGHTS_TOGGLE
BATTERY1_SETLANDING_LIGHTS_OFF
BATTERY2_SETLANDING_LIGHTS_ON
BATTERY3_SETLANDING_LIGHTS_SET
BATTERY4_SETLANDING_LIGHTS_TOGGLE
BEACON_LIGHTS_OFFLANDING_LIGHT_DOWN
BEACON_LIGHTS_ONLANDING_LIGHT_HOME
BEACON_LIGHTS_SETLANDING_LIGHT_LEFT
BREAKER_ADF_SETLANDING_LIGHT_RIGHT
BREAKER_ADF_TOGGLELANDING_LIGHT_UP
BREAKER_ALTFLD_SETLOGO_LIGHTS_SET
BREAKER_ALTFLD_TOGGLEMASTER_BATTERY_OFF
BREAKER_AUTOPILOT_SETMASTER_BATTERY_ON
BREAKER_AUTOPILOT_TOGGLEMASTER_BATTERY_SET
BREAKER_AVNBUS1_SETNAV_LIGHTS_OFF
BREAKER_AVNBUS1_TOGGLENAV_LIGHTS_ON
BREAKER_AVNBUS2_SETNAV_LIGHTS_SET
BREAKER_AVNBUS2_TOGGLEPANEL_LIGHTS_OFF
BREAKER_AVNFAN_SETPANEL_LIGHTS_ON
BREAKER_AVNFAN_TOGGLEPANEL_LIGHTS_POWER_SETTING_SET
BREAKER_FLAP_SETPANEL_LIGHTS_SET
BREAKER_FLAP_TOGGLEPANEL_LIGHTS_TOGGLE
BREAKER_GPS_SETPEDESTRAL_LIGHTS_OFF
BREAKER_GPS_TOGGLEPEDESTRAL_LIGHTS_ON
BREAKER_INSTLTS_SETPEDESTRAL_LIGHTS_POWER_SETTING_SET
BREAKER_INSTLTS_TOGGLEPEDESTRAL_LIGHTS_SET
BREAKER_INST_SETPEDESTRAL_LIGHTS_TOGGLE
BREAKER_INST_TOGGLERECOGNITION_LIGHTS_SET
BREAKER_NAVCOM1_SETSET_EXTERNAL_POWER
BREAKER_NAVCOM1_TOGGLESTROBES_OFF
BREAKER_NAVCOM2_SETSTROBES_ON
BREAKER_NAVCOM2_TOGGLESTROBES_SET
BREAKER_NAVCOM3_SETSTROBES_TOGGLE
BREAKER_NAVCOM3_TOGGLETAXI_LIGHTS_OFF
BREAKER_TURNCOORD_SETTAXI_LIGHTS_ON
BREAKER_TURNCOORD_TOGGLETAXI_LIGHTS_SET
BREAKER_WARN_SETTOGGLE_ALTERNATOR1
BREAKER_WARN_TOGGLETOGGLE_ALTERNATOR2
BREAKER_XPNDR_SETTOGGLE_ALTERNATOR3
BREAKER_XPNDR_TOGGLETOGGLE_ALTERNATOR4
CABIN_LIGHTS_OFFTOGGLE_AVIONICS_MASTER
CABIN_LIGHTS_ONTOGGLE_BEACON_LIGHTS
CABIN_LIGHTS_POWER_SETTING_SETTOGGLE_CABIN_LIGHTS
CABIN_LIGHTS_SETTOGGLE_ELECTRICAL_FAILURE
ELECTRICAL_ALTERNATOR_BREAKER_TOGGLETOGGLE_EXTERNAL_POWER
ELECTRICAL_BATTERY_BREAKER_TOGGLETOGGLE_LOGO_LIGHTS
ELECTRICAL_BUS_BREAKER_TOGGLETOGGLE_MASTER_ALTERNATOR
ELECTRICAL_BUS_TO_ALTERNATOR_CONNECTION_TOGGLETOGGLE_MASTER_BATTERY
ELECTRICAL_BUS_TO_BATTERY_CONNECTION_TOGGLETOGGLE_MASTER_BATTERY_ALTERNATOR
ELECTRICAL_BUS_TO_BUS_CONNECTION_TOGGLETOGGLE_NAV_LIGHTS
ELECTRICAL_BUS_TO_CIRCUIT_CONNECTION_TOGGLETOGGLE_RECOGNITION_LIGHTS
ELECTRICAL_BUS_TO_EXTERNAL_POWER_CONNECTION_TOGGLETOGGLE_TAXI_LIGHTS
ELECTRICAL_CIRCUIT_BREAKER_TOGGLETOGGLE_WING_LIGHTS
ELECTRICAL_CIRCUIT_POWER_SETTING_SETWING_LIGHTS_OFF
ELECTRICAL_CIRCUIT_TOGGLEWING_LIGHTS_ON
ELECTRICAL_EXECUTE_PROCEDUREWING_LIGHTS_SET