Modusverwaltung
Jedes System hat unterschiedliche Betriebsmodi. Ein Mobiltelefon hat zum Beispiel einen Gaming-Modus, einen Energiesparmodus usw. In jedem dieser Modi haben die Teilblöcke des Mobiltelefons (Prozessor, GPU, Bildschirm usw.) ihre eigenen Betriebsmodi.
Modelists werden verwendet, wenn eine bestimmte Eigenschaft kein einzelner Wert ist, sondern vom Betriebsmodus eines bestimmten Produkts, Geräts oder einer Einheit abhängt. Der Stromverbrauch ist ein gutes Beispiel dafür, da er häufig vom Betriebsmodus abhängt.
Modelists sind im Wesentlichen Schemata für Arrays (in unserem Fall Matrix Valis), mit denen sich die Leistungsfähigkeit von Valitypes und die Funktionen zur automatischen Weitergabe von Berechnungen im Requirements & Systems Portal nutzen lassen, indem mehrere unterschiedliche Modelists (Schemata) entlang einer Blockhierarchie verknüpft werden.
Beispielsweise hängt der Gesamtstromverbrauch des Systems von dem Modus ab, in dem sich das System befindet. Im Modus „ON“ sind alle Blöcke und Unterblöcke des Systems eingeschaltet, in „STANDBY“ laufen einige Blöcke des Systems, während andere möglicherweise nicht aktiv sind. In „OFF“ sind alle Blöcke ausgeschaltet.
Der Gesamtstromverbrauch eines Quadcopters hängt von dem Modus ab, in dem das System arbeitet [OFF, STANDBY, TAKEOFF, CRUISE, LANDING: der übergeordnete Modus], und davon, wie sich die verschiedenen Unterblöcke innerhalb jedes Modus verhalten (Subsystemmodus).
Sehen wir uns das anhand eines Beispiels an.
Parent mode: In Abbildung Valicopter Modelists sind beim Valicopter „Passengers“ (Anzahl der Passagiere) und der „Flight mode“ die übergeordneten Modi, die den Stromverbrauch bestimmen. Daher klicken wir auf den Block (1), wechseln zu seiner Registerkarte „Modelists“ und fügen eine Modelist hinzu, die als Schema für unsere modusabhängigen Valis dient.
Ebenso gibt es in Abbildung Propulsion Modelists für das Propulsion-Subsystem (1) vier übergeordnete Modi (2): OFF, MANOEUVER, CRUISE, STANDBY (3).
Subsystem mode: Subsystemmodi sind die Modi, die den Unterblöcken des Hauptblocks zugewiesen werden. Nehmen wir das Beispiel Propulsion.
Die oben für Propulsion definierten übergeordneten Modi sind OFF, MANOEUVER, CRUISE und STANDBY.
In Abbildung Sub-Block Modelists sind die Subsystemmodi (2) des Unterblocks „Back_Left“ (1) OFF, ON, POWER und HOLD (3).
Assigning values to the modes of the sub-blocks
Sobald wir die Modi für die einzelnen Blöcke eingerichtet haben, können wir dann (1) eine Matrix (2) vom Valitype „PowerConsumption“ erstellen, die wie im Feld „Mode Reference“ angegeben modusabhängig ist (3), wie in Abbildung Creating a Mode Dependent Matrix.
oder einen Standard-Vali in einen modusabhängigen Vali umwandeln (Abbildung Converting a Vali into Modelist Dependency), indem wir im „Info“-Bereich des Vali auf „Mode dependent“ (1) klicken und die entsprechende Modelist auswählen (2).
Hier können wir den Wert der Leistung angeben, die in diesem bestimmten Modus verbraucht wird.
In Abbildung Mode-Dependent Vali sehen wir die definierten Formeln für den Stromverbrauch und die berechneten Werte (2) des hinten linken Motors (1) in jedem der zuvor angegebenen Modi.
Nachdem wir nun die Modi und Stromverbrauchswerte der Unterblöcke definiert haben, können wir jetzt die Modi des Systems auf oberster Ebene definieren, zum Beispiel Flight Modes [OFF, STANDBY, TAKEOFF, CRUISE, LANDING], und anschließend den Gesamtstromverbrauch des Systems bestimmen. Dies wird erreicht, indem die Modi der Unterblöcke mit den Valicopter-Modi auf oberster Ebene verknüpft werden.
Linking Modes
Das Video Linking Modelists zeigt die Systemmodi auf oberster Ebene und die entsprechend verknüpften Unterblock-Modi in der Tabelle „Linked Modes“.
Um den Gesamtstromverbrauch des Systems zu berechnen, können wir wie in Abbildung Mode Dependent Vali-Type einen „Valicopter_5000“-Block auf oberster Ebene mit einer „Power Consumption” matrix (1) erstellen. Requirements & Systems Portal berechnet den Gesamtstromverbrauch für alle definierten Modi automatisch mit der integrierten „soc()“-Funktion (Sum of Children) formula (2), die alle Stromverbräuche der Unterblöcke in den jeweiligen Modelist-Verknüpfungen aufsummiert.
Linking from the top level to lower levels
Im Requirements & Systems Portal verknüpfen wir immer von einem Block auf oberster Ebene aus. In diesem Fall haben wir den Valicopter mit einem Block auf niedriger Ebene verknüpft, z. B. Kabine, Sitze, Stromversorgung, Batterie usw. Die Verknüpfung funktioniert in eine Richtung von den Subsystemen zu den Blöcken auf oberster Ebene.
In Abbildung block Based System Architecture gilt: Wenn Sie von „Valicopter_5000“ (1) -> „Propulsion“ (2) und dann von „Propulsion“ (2) -> „Back_Left“ (3) verknüpfen, werden die Werte nach oben weitergegeben und im Valicopter auf oberster Ebene aufsummiert.
Skipping a level when linking
Beim Verknüpfen von Modi können wir auch direkt von einer obersten Ebene (Parent) zu einer niedrigen Ebene (Grandchild) verknüpfen und Zwischenebenen überspringen. Dies ist möglich, wenn die Zwischenebene keinen „PowerConsumption“-Vali hat.
Beispielsweise können wir mit Bezug auf Abbildung block Based System Architecture den Stromverbrauch eines der vier Motoren („Back_Left“ (3), der als Grandchild betrachtet werden kann) im Propulsion-System des „Valicopter_5000“ (Parent) (1) definieren und die Modi hier mit den Gesamt-Systemmodi des Valicopter verknüpfen, ohne den Stromverbrauch und die Modi im Propulsion-System (Child) (2) zu definieren und zu verknüpfen.
Using the same matrix from the top level
Wir können auch Valis innerhalb von Matrizen aufsummieren, indem wir Matrizen in Blöcken und Unterblöcken mit demselben Modus auf oberster Ebene verknüpfen.
So kann beispielsweise der Gesamtstromverbrauch anhand des Stroms aller Unterblöcke nach Flugmodi aufsummiert werden.
Dazu erstellen wir zunächst die „Flight_Modes“ innerhalb des Systems auf oberster Ebene im Valicopter, wie in Abbildung “FlightModes” Modelist gezeigt.
Dann erstellen wir die Matrizen „PowerConsumption“ innerhalb der einzelnen Unterblöcke, d. h. „Cabin“ (1), verknüpfen sie mit den „Flight_modes“-Matrizen innerhalb des Valicopter und geben die entsprechenden Stromwerte in die „PowerConsumption“ (2) Matrix ein, wie in Abbildung Inputing Cabin PowerConsumption Values gezeigt.
Dann können wir die „PowerConsumption“-Matrix auf oberster Ebene im Block „Valicopter_5000“ (1) mit der Funktion „soc()“ als Wert für jeden ihrer Modi erstellen (2). Dadurch werden alle Werte aus den nun zugeordneten Unterblock-Modi innerhalb der Matrix aufsummiert, wie in Abbildung Adding Linked Modes gezeigt.
Summing up a standard Vali with a Mode-dependent Vali
Wenn Sie einen Block in Ihrem System haben, der einen Vali Type besitzt, der nicht modusabhängig ist, können Sie den/die Modus/Modi des Blocks auf oberster Ebene hinzufügen, indem Sie ihn explizit zum . hinzufügen.
Zum Beispiel hat in Abbildung Standard Vali Type der Unterblock „Screen“ im Teilbaum „Valicopter_5000“ (1) einen nicht modusabhängigen “PowerConsumption” Vali (2).
Dieser normale, nicht modusabhängige Vali kann zu jedem der Modi („[OFF, STANDBY, TAKEOFF, CRUISE, LANDING]“) in der modusabhängigen „PowerConsumption“-Matrix im Block „Valicopter_5000“ auf oberster Ebene hinzugefügt werden, indem in den jeweiligen Formeln explizit darauf verwiesen wird, wie in Abbildung Explicit Mode Calculation und Video Mode Vali Dependency zu sehen.
Mode Vali Dependency