Octave Engine

Einführung

Die Octave-Engine (Open-Source-Tool, kompatibel mit MatLab) innerhalb des Scripting Module ermöglicht es Benutzern, komplexe Berechnungen innerhalb des Requirements & Systems Portal durchzuführen, die im System Design Module nicht sehr einfach auszuführen bzw. zu berechnen sind. Sie können die für die Berechnungen benötigten Valis als Eingabe-Valis und das Ergebnis als Ausgabe-Valis referenzieren. Häufige Beispiele für solche Berechnungen sind das Lösen nichtlinearer Gleichungen, Matrixmultiplikation oder bedingte Fälle.

Scripting-Ablauf für Octave-Engine-Skripte

Der typische Arbeitsablauf bei der Verwendung des Scripting Module ist unten dargestellt. Jeder Schritt wird in den jeweiligen Unterabschnitten erläutert.

1. Erstellen eines neuen Octave-Skripts

Um ein neues Octave-Skript in Ihrem Projekt zu erstellen, bewegen Sie den Mauszeiger über das Simulationsmodul (1) und wählen Sie „+ Script“ (2). Nach dem Klicken öffnet sich ein Popup-Fenster; geben Sie den Namen ein und wählen Sie „Octave engine (Matlab compatibilite)“ (3), dann klicken Sie auf „Create“. Siehe Abbildung Creating Octave Script.

Octave-Skript erstellen – Im Scripting Module können Sie ganz einfach ein Octave-Skript erstellen, um komplexere Berechnungen durchzuführen.

2. Ein- und Ausgaben

Der Benutzer kann Eingabe- und Ausgabe-Valis hinzufügen. Wenn der Benutzer beispielsweise den Vali innerhalb der Ein- oder Ausgaben referenziert, kann er dem Vali einen Kurznamen geben, der dann in Ihrem Octave-Berechnungscode verwendet wird.

Example:

Wenn Sie einen Vali namens „PowerConsumption.CRUISE“ aus Ihrem Komponentenmodul verwenden, können Sie der Variablen einfach eine Abkürzung wie „cruise“ zuweisen (1). Sobald der Vali in den Eingaben referenziert wird, fügt Requirements & Systems Portal die Werte zusammen mit den Einheiten automatisch hinzu (2).

Der Benutzer kann auch die Simulationseinheit ändern. Z. B. ist der definierte PowerConsumption-Wert für Cruise im System Design Module in W angegeben, für die Simulation wird jedoch kW verwendet; dies wird in der Spalte „simulation unit“ (3) festgelegt. Siehe Abbildung Setting up Valis.

Valis einrichten – Valis können für das Octave-Skript als Eingaben oder Ausgaben definiert werden.

Sie können jeden Vali aus dem System Design Module entweder als Eingabe oder als Ausgabe verwenden, jedoch nicht gleichzeitig als beides.

3. Berechnung/Octave-Code

Wie bereits erwähnt, verwendet das Simulationsmodul von Requirements & Systems Portal eine Octave-Engine, mit der Sie die Octave -Syntax verwenden können. Sie ist Matlab sehr ähnlich und hervorragend kompatibel dazu, sodass Sie sich nicht mit einem neuen Framework vertraut machen müssen, um komplexe Berechnungen zu erstellen. Weitere Informationen finden Sie auf der GNU Octave Documentation Page.

Die Benutzer müssen den Octave-Code in die Datei „main.m“ schreiben(1). Im Codebereich sind Anweisungen enthalten, wie der Benutzer die Ein- und Ausgaben definieren kann (2). Weitere Informationen finden Sie in Abbildung Octave Script.

Octave-Skript – Zugriff auf die Datei main.m und Definieren der Ein- und Ausgaben im Skript.

Sobald der Code zur Datei main.m hinzugefügt wurde, kann der Benutzer das Skript durch Klicken auf „Save“ speichern(3).

4. Simulationen ausführen/Ergebnisse

Sobald Sie Ihr Skript fertiggestellt haben, können Sie auf die Wiedergabeschaltfläche klicken, die sich wie in Abbildung Running Script gezeigt in der unteren linken Ecke befindet.

Skript ausführen – Durch Klicken auf die Wiedergabeschaltfläche in der unteren rechten Ecke wird das Skript ausgeführt.

Sobald die Simulation abgeschlossen ist, aktualisiert Requirements & Systems Portal automatisch die Ausgabewerte. Dadurch werden die Ausgabe-Valis im System Design Module automatisch aktualisiert. Wenn die Ausgabe-Valis als Konstanten in Formeln verwendet werden, um andere Valis zu berechnen, berechnet Requirements & Systems Portal jeden Vali neu, der dem Ausgabe-Vali zugeordnet ist.

5. Anwendungsfall für Scripting + Automation

Wenn Eingabewerte im System Design Module geändert werden, muss der Benutzer die Simulation erneut ausführen, um die Ausgabewerte neu zu berechnen.

Um zu vermeiden, dass nach jeder Änderung der Eingabewerte Simulationen ausgeführt werden müssen, kann eine Verknüpfung zwischen den Automations und dem Scripting Module erstellt werden. Tatsächlich können neue Automatisierungen mit einem konstanten Trigger so eingerichtet werden, dass jede von einer Änderung eines Vali betroffene Simulation automatisch erneut ausgeführt wird, wie im kurzen Clip unten gezeigt.

In diesem speziellen Fall wird die Flugzeit unseres Valicopters von 15 min auf 10 min angepasst, was automatisch eine Neuberechnung der insgesamt erforderlichen Batteriekapazität auslöst. Da die Gesamtmasse des Stromversorgungssubsystems auf Grundlage der erforderlichen Batteriekapazität berechnet wird (wie viele Batterien wir benötigen), wird bei kürzerer Flugzeit und damit geringerem Batteriekapazitätsbedarf auch die Masse des Stromversorgungssubsystems neu berechnet und reduziert.

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Inhalt