<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

	<head>
		<meta name="copyright" content="Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved." />
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
		<meta http-equiv="Content-Style-Type" content="text/css" />

		<title>Capella - In-Flight Entertainment System - LogicalFunction Provide Electrical Power</title>
		<link rel="stylesheet" href="../../scripts/jquery-treeview/jquery.treeview.css" />
  		<script src="../../scripts/jquery-treeview/lib/jquery-1.11.1.js" type="text/javascript"></script>
  		<script src="../../scripts/jquery-treeview/jquery.treeview.js" type="text/javascript"></script>
		<link rel="stylesheet" type="text/css" href="../../css/simpletree.css" />		
		<link title="default" rel="stylesheet" type="text/css" media="screen, projection" href="../../css/content.css"></link>
		<script type="text/javascript">
			if(parent.location.href == self.location.href) {
				window.location.href = 'index.html?4d1c1e5c4c9641fca4a54bd74085f320';
			}
		</script>
		
		<style>
			body {
				background: white;
				font-family: Arial;
			}
			.treeview {
				background-color: white ;
			}
	
			.treeview ul{ /*CSS for Simple Tree Menu*/
				background-color: white;
				font-size: 12px;
			}
	
			.treeview li{ /*Style for LI elements in general (excludes an LI that contains sub lists)*/
				background-color: white;
			}
		</style>
		
	</head>
	
	<body>	<div id="content">
<img src="../icon/LogicalFunction.png" alt="LogicalFunction" style="float:left; margin-right:10px" /><h1><a href="../In-Flight Entertainment System/4d1c1e5c4c9641fca4a54bd74085f320.html">Provide Electrical Power</a></h1>
<p style="margin-top:3px; margin-bottom:3px"><span class="elementMetaClass">LogicalFunction</span></p>
<em class="elementPath"><a href="../In-Flight Entertainment System/bd182435e29042ceb99f6dd06e7ae7c7.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/8f49452e61f24ba0b944352d1f4c4227.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/cab89820127c4d24bfe731b2000cc23c.html">Logical Architecture</a> > <a href="../In-Flight Entertainment System/acc8c52c8fb340eca4e042ee0d6f9d8b.html">Logical Functions</a> > <a href="../In-Flight Entertainment System/0f580227c543436e979fee70432656e2.html">Root Logical Function</a> > <a href="../In-Flight Entertainment System/cd4b1bade12e45eb96fddfec5b483457.html">Provide Aircraft Information&#044; Commands and Means</a> > <a href="../In-Flight Entertainment System/4d1c1e5c4c9641fca4a54bd74085f320.html">Provide Electrical Power</a></em>

<p>

This function is responsible for providing power consumption profiles. According to different flying conditions and phases,
the power made available to the IFE system may differ.
</p>













<h2>Allocating Component</h2>

<ul class="generatedList"><li><img src="../icon/LogicalActorHuman.gif" alt="LogicalComponent" /> <a href="../In-Flight Entertainment System/a0ceff3772a64da7a64689425a748235.html">Aircraft</a></li></ul>
<h2>Outgoing Functional Ports</h2>
<ul class="generatedList"><li><img src="../icon/FunctionOutputPort.gif" alt="FunctionOutputPort" /> <a href="../In-Flight Entertainment System/c16e6c8fa0b04cb3b748f2785b450814.html">FOP 1</a></li></ul>

	<h2>Outgoing Functional Exchanges</h2>
	<table>
	<tr>
		<th>Exchange</th>
		<th>Involving functional chains</th>
		<th>Allocating component Exchanges</th>
		<th>Distant Port</th>
		<th>Target</th>
		<th>Description</th>
		<th>Allocated Exchange Items</th>
		<th>Realized Functional Exchange</th>
		<th>Realizing Functional Exchange</th>
	</tr>
	<tr><td id="id8ab8e6a5-2c1f-4046-8aab-b44dd550b833"><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/8ab8e6a52c1f40468aabb44dd550b833.html">Power Consumption Cap</a></td><td></td><td><ul class="generatedList"><li><img src="../icon/ComponentExchange.gif" alt="ComponentExchange" /> <a href="../In-Flight Entertainment System/8ae83bf869e843188771fb8627b576f2.html">Aircraft Messages</a></li></ul></td><td><img src="../icon/FunctionInputPort.gif" alt="FunctionInputPort" /> <a href="../In-Flight Entertainment System/f4eeb86bcab44b4fb4bcb1481aa3d029.html">FIP 1</a></td><td><img src="../icon/LogicalFunction.gif" alt="LogicalFunction" /> <a href="../In-Flight Entertainment System/4b01ac5e7920491daf351846163e5ad9.html">Capture Aircraft Notifications and Parameters</a></td><td></td><td></td><td><ul class="generatedList"><li><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/149f7acb773d496093a6df36efee81d0.html">Power Consomption Cap</a></li></ul></td><td><ul class="generatedList"><li><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/fa61847f3abe4ab2a85772bd5e6b4d01.html">Electrical Power Profile</a></li></ul></td></tr>
</table>
<h2>Realized Elements</h2>

<ul class="generatedList"><li><img src="../icon/ActorSystemFunction.gif" alt="SystemFunction" /> <a href="../In-Flight Entertainment System/135e77a779ef45e8b13867e283a14cdd.html">Provide Electrical Power</a></li></ul>


<h2>Realizing Elements </h2>

<ul class="generatedList"><li><img src="../icon/ActorPhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/4c2371280cf340748af45e63e4994e02.html">Provide Electrical Power</a></li></ul>








<h2>Diagrams displaying "Provide Electrical Power"</h2>
<ul>
<li>
<a href="../In-Flight Entertainment System/0f580227c543436e979fee70432656e2.html#_XUQUUJqIEeS8H_8qEOr5gg">&#091;LFBD&#093; All Functions</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/724d6db99175450b8f05023fcffec79c.html#_DmXfwKPQEeSgDIOKB3Rd0g">&#091;LAB&#093; &#091;BUILD&#093; Template</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/724d6db99175450b8f05023fcffec79c.html#_LaAX0K_cEeSD6doWwrg-qw">&#091;LAB&#093; &#091;BUILD&#093; All Components&#044; Functions&#044; CEs&#044; FEs</a> 
</li>
</ul>





 </div>	</body>
</html>
