Silnik Octave

Wprowadzenie

Silnik Octave (narzędzie kompatybilne z MatLabem o otwartym kodzie źródłowym) w module skryptowym umożliwia użytkownikom wykonywanie złożonych obliczeń w portalu wymagań i systemów, które nie są łatwe do wykonania/obliczenia w module projektowania systemu. Można odwoływać się do Valis potrzebnych do obliczeń jako Valis wejściowych i wyników jako Valis wyjściowych. Niektóre typowe przykłady takich obliczeń obejmują rozwiązywanie równań nieliniowych, mnożenie macierzy lub przypadki warunkowe.

Przepływ skryptów dla silnika Octave

Poniżej przedstawiono typowy przepływ pracy przy użyciu modułu skryptowego. Każdy krok został wyjaśniony w poszczególnych podsekcjach.

1. Tworzenie nowego skryptu Octave

Aby utworzyć nowy skrypt Octave w projekcie, najedź kursorem na moduł symulacji (1) i wybierz "+ Script" (2). Po kliknięciu otworzy się wyskakujące okno; wprowadź nazwę i wybierz "Octave engine (Matlab compatibilite)" (3) kliknij "Create". Zobacz obrazek Creating Octave Script.

Tworzenie skryptu Octave - w module skryptowym można łatwo utworzyć skrypt Octave w celu wykonania bardziej złożonych obliczeń.

2. Dane wejściowe i wyjściowe

Użytkownik może dodać wejściowe i wyjściowe Valis. Na przykład, gdy użytkownik odwołuje się do Vali w danych wejściowych lub wyjściowych, może podać krótką nazwę Vali, która będzie następnie używana w kodzie obliczeniowym Octave.

Example:

Jeśli używasz Vali o nazwie "PowerConsumption.CRUISE" z modułu komponentu, możesz po prostu przypisać skrót zmiennej, taki jak "cruise" (1). Po odwołaniu się do Vali w danych wejściowych, Portal wymagań i systemów automatycznie doda wartości wraz z jednostkami (2).

Użytkownik może również zmienić jednostkę symulacji. np. zdefiniowane zużycie energii dla rejsu w module projektowania systemu jest w W, ale do symulacji używany jest kW, który jest zdefiniowany w kolumnie "jednostka symulacji" (3). Zobacz obrazek Setting up Valis.

Konfigurowanie Valis - Valis można zdefiniować jako wejścia lub wyjścia dla skryptu Octave.

Można użyć dowolnej wartości Vali z modułu System Design Module jako wejścia lub wyjścia, ale nie jednocześnie jako obu.

3. Obliczenia/kod oktawy

Jak wspomniano wcześniej, moduł symulacji Requirements & Systems Portal wykorzystuje silnik Octave, który umożliwia korzystanie ze składni Octave. Jest on podobny i ma doskonałą kompatybilność z Matlabem, więc nie będziesz musiał zapoznawać się z nowym frameworkiem, aby tworzyć złożone obliczenia. Więcej informacji można znaleźć na stronie dokumentacji GNU Octave.

Użytkownicy muszą napisać kod Octave w pliku "main.m"(1). Instrukcje są zapisane w obszarze kodowania, w jaki sposób użytkownik może zdefiniować wejścia i wyjścia (2). Więcej informacji można znaleźć na rysunku Octave Script.

Skrypt Octave - dostęp do pliku main.m i definiowanie wejść i wyjść w skrypcie.

Po dodaniu kodu do pliku main.m użytkownik może zapisać skrypt, klikając przycisk "Save" (Zapisz)(3).

4. Uruchamianie symulacji/wyników

Po zakończeniu tworzenia skryptu można kliknąć przycisk odtwarzania, który znajduje się w lewym dolnym rogu, jak pokazano na rysunku Running Script.

Uruchamianie skryptu - Kliknięcie przycisku odtwarzania w prawym dolnym rogu powoduje uruchomienie skryptu.

Po zakończeniu symulacji portal wymagań i systemów automatycznie aktualizuje wartości wyjściowe. W rezultacie wartości wyjściowe w module projektowania systemu są automatycznie aktualizowane. Jeśli wartości wyjściowe są używane jako stałe w formułach do obliczania innych wartości, portal wymagań i systemów automatycznie przeliczy każdą wartość powiązaną z wartością wyjściową.

5. Skrypty + automatyzacja Przypadek użycia

Jeśli jakiekolwiek wartości wejściowe są zmieniane w module projektowania systemu, użytkownik musi ponownie uruchomić symulację, aby ponownie obliczyć wartości wyjściowe.

Aby uniknąć uruchamiania symulacji po każdej zmianie wartości wejściowych, można utworzyć łącze między Automations i Scripting Module. Rzeczywiście, nowe automatyzacje ze stałym wyzwalaczem można ustawić tak, aby automatycznie ponownie uruchamiały każdą symulację, na którą ma wpływ zmiana Vali, jak pokazano w krótkim klipie poniżej.

W tym konkretnym przypadku czas lotu naszego Valicoptera został dostosowany z 15 minut do 10 minut, co automatycznie uruchamia ponowne obliczenie całkowitej wymaganej pojemności akumulatora. Ponieważ całkowita masa podsystemu zasilania jest obliczana na podstawie niezbędnej pojemności baterii (ile baterii potrzebujemy), przy krótszym czasie lotu, a tym samym mniejszej wymaganej pojemności baterii, masa podsystemu zasilania jest również ponownie obliczana i zmniejszana.

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.

Content