Moteur Octave

Introduction

Le moteur Octave (outil open source compatible MatLab) du module Scripting permet aux utilisateurs d’effectuer des calculs complexes dans Requirements & Systems Portal, qui ne sont pas très faciles à réaliser/calculer dans le module System Design. Vous pouvez référencer les Valis nécessaires aux calculs comme Valis d’entrée, et le résultat comme Valis de sortie. Parmi les exemples courants de tels calculs figurent la résolution d’équations non linéaires, la multiplication de matrices ou des cas conditionnels.

Flux de script pour les scripts du moteur Octave

Le flux de travail typique pour utiliser le module Scripting est présenté ci-dessous. Chaque étape est expliquée dans les sous-sections correspondantes.

1. Création d’un nouveau script Octave

Pour créer un nouveau script Octave dans votre projet, survolez le module simulations (1) et sélectionnez « + Script » (2). En cliquant dessus, une fenêtre contextuelle s’ouvre ; saisissez le nom et sélectionnez « Octave engine (Matlab compatibilite) » (3), puis cliquez sur « Create ». Voir l’image Creating Octave Script.

Création d’un script Octave - Vous pouvez facilement créer un script Octave dans le module Scripting pour effectuer des calculs plus complexes.

2. Entrées et sorties

L’utilisateur peut ajouter les Valis d’entrée et de sortie. Par exemple, lorsque l’utilisateur référence une Vali dans les entrées ou les sorties, il peut fournir un nom court pour la Vali, qui sera ensuite utilisé dans votre code de calcul Octave.

Example:

Si vous utilisez une Vali appelée « PowerConsumption.CRUISE » depuis votre module de composants, vous pouvez simplement attribuer une abréviation à la variable, telle que « cruise » (1). Une fois la Vali référencée dans les entrées, Requirements & Systems Portal ajoute automatiquement les valeurs ainsi que les unités (2).

L’utilisateur peut également modifier l’unité de simulation. Par exemple, la valeur PowerConsumption définie pour cruise dans le module System Design est en W, mais pour la simulation, le kW est utilisé, ce qui est défini dans la colonne « simulation unit » (3). Voir l’image Setting up Valis.

Configuration des Valis - Les Valis peuvent être définies comme entrées ou sorties pour le script Octave.

Vous pouvez utiliser n’importe quelle Vali du module System Design soit comme entrée, soit comme sortie, mais pas simultanément comme les deux.

3. Calcul / code Octave

Comme mentionné précédemment, le module de simulation de Requirements & Systems Portal utilise un moteur Octave qui vous permet d’utiliser la syntaxe Octave . Elle est similaire à Matlab et offre une excellente compatibilité avec celui-ci ; vous n’aurez donc pas besoin de vous familiariser avec un nouveau framework pour créer des calculs complexes. Vous pouvez consulter la page de documentation GNU Octave si vous avez besoin d’informations supplémentaires.

Les utilisateurs doivent écrire le code Octave dans le fichier « main.m »(1). Les instructions expliquant comment l’utilisateur peut définir les entrées et les sorties sont indiquées dans la zone de code (2). Voir la figure Octave Script pour plus d’informations.

Script Octave - Accès au fichier main.m et définition des entrées et des sorties dans le script.

Une fois le code ajouté au fichier main.m, l’utilisateur peut enregistrer le script en cliquant sur « Save »(3).

4. Exécuter les simulations / Résultats

Une fois votre script terminé, vous pouvez cliquer sur le bouton de lecture, situé dans le coin inférieur gauche comme indiqué dans la figure Running Script.

Exécution du script - En cliquant sur le bouton de lecture dans le coin inférieur droit, le script est exécuté.

Une fois la simulation terminée, Requirements & Systems Portal met automatiquement à jour les valeurs de sortie. Par conséquent, les Valis de sortie dans le module System Design sont automatiquement mises à jour. Si les Valis de sortie sont utilisées comme constantes dans des formules pour calculer d’autres Valis, Requirements & Systems Portal recalcule automatiquement chaque Vali associée à la Vali de sortie.

5. Cas d’usage Scripting + Automation

Si des valeurs d’entrée sont modifiées dans le module System Design, l’utilisateur doit relancer la simulation pour recalculer les valeurs de sortie.

Pour éviter d’exécuter des simulations après chaque modification des valeurs d’entrée, un lien peut être créé entre les Automations et le module Scripting. En effet, de nouvelles automatisations avec un déclencheur constant peuvent être configurées pour relancer automatiquement chaque simulation affectée par la modification d’une Vali, comme montré dans le court extrait ci-dessous.

Dans ce cas précis, le temps de vol de notre Valicopter est ajusté de 15 min à 10 min, ce qui déclenche automatiquement un recalcul de la capacité totale de batterie nécessaire. Étant donné que la masse totale du sous-système d’alimentation est calculée à partir de la capacité de batterie nécessaire (combien de batteries sont requises), avec un temps de vol plus court et donc une capacité de batterie requise plus faible, la masse du sous-système d’alimentation est également recalculée et réduite.

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.

Contenu