Octave Engine

Introducción

El motor Octave (herramienta de código abierto compatible con MatLab) dentro del Módulo de Scripting permite a los usuarios realizar cálculos complejos dentro de Requirements & Systems Portal que no son muy fáciles de realizar/calcular en el Módulo de Diseño del Sistema. Puede hacer referencia a los Valis necesarios para los cálculos como Valis de entrada y al resultado como Valis de salida. Algunos ejemplos comunes de este tipo de cálculo incluyen la resolución de ecuaciones no lineales, la multiplicación de matrices o casos condicionales.

Flujo de scripting para scripts con motor Octave

El flujo de trabajo típico al usar el Módulo de Scripting se muestra a continuación. Cada paso se explica en las siguientes subsecciones.

1. Creación de un nuevo script de Octave

Para crear un nuevo script de Octave en su proyecto, pase el cursor sobre el módulo de simulaciones (1) y seleccione “+ Script” (2). Al hacer clic, se abre una ventana emergente; introduzca el nombre y seleccione “Octave engine (Matlab compatibilite)” (3) y haga clic en “Create”. Vea la imagen Creating Octave Script.

Creación de un script de Octave: puede crear fácilmente un script de Octave en el módulo de scripting para realizar cálculos más complejos.

2. Entradas y salidas

El usuario puede agregar los Valis de entrada y salida. Por ejemplo, cuando el usuario hace referencia al Vali dentro de las entradas o salidas, puede proporcionar un nombre corto para el Vali, que luego se utilizará en su código de cálculo de Octave.

Example:

Si está utilizando un Vali llamado “PowerConsumption.CRUISE” de su módulo de componentes, puede simplemente asignar una abreviatura de la variable, como “cruise“ (1). Una vez que se hace referencia al Vali en las entradas, Requirements & Systems Portal agrega automáticamente los valores junto con las unidades (2).

El usuario también puede cambiar la unidad de simulación. Por ejemplo, el PowerConsumption definido para cruise en el Módulo de Diseño del Sistema está en W, pero para la simulación se usa kW, lo cual se define en la columna “simulation unit” (3). Vea la imagen Setting up Valis.

Configuración de Valis: los Valis pueden definirse como entradas o salidas para el script de Octave.

Puede usar cualquier Vali del Módulo de Diseño del Sistema como entrada o salida, pero no simultáneamente como ambas.

3. Cálculo/código Octave

Como se mencionó anteriormente, el módulo de simulación de Requirements & Systems Portal utiliza un motor Octave que le permite usar la sintaxis de Octave . Es similar a Matlab y tiene una excelente compatibilidad con este, por lo que no tendrá que familiarizarse con un nuevo framework para crear cálculos complejos. Puede consultar la página de documentación de GNU Octave si necesita más información.

Los usuarios deben escribir el código Octave en el archivo “main.m”(1). Las instrucciones están escritas en el área de código sobre cómo el usuario puede definir las entradas y salidas (2). Consulte la Figura Octave Script para obtener más información.

Script de Octave: acceso al archivo main.m y definición de las entradas y salidas en el script.

Una vez que se agrega el código al archivo main.m, el usuario puede guardar el script haciendo clic en “Save”(3).

4. Ejecutar simulaciones/resultados

Una vez que haya completado su script, puede hacer clic en el botón de reproducción, que se encuentra en la esquina inferior izquierda, como se muestra en la Figura Running Script.

Ejecución del script: al hacer clic en el botón de reproducción en la esquina inferior derecha, se ejecuta el script.

Una vez completada la simulación, Requirements & Systems Portal actualiza automáticamente los valores de salida. Como resultado, los Valis de salida en el Módulo de Diseño del Sistema se actualizan automáticamente. Si los Valis de salida se están utilizando como constantes en fórmulas para calcular otros Valis, Requirements & Systems Portal recalcula automáticamente cada Vali asociado al Vali de salida.

5. Caso de uso de Scripting + Automatización

Si se cambia cualquier valor de entrada en el Módulo de Diseño del Sistema, el usuario debe volver a ejecutar la simulación para recalcular los valores de salida.

Para evitar ejecutar simulaciones después de cada cambio en los valores de entrada, se puede crear un vínculo entre Automations y el Módulo de Scripting. De hecho, se pueden configurar nuevas automatizaciones con un disparador constante para volver a ejecutar automáticamente cada simulación afectada por el cambio de un Vali, como se muestra en el breve clip a continuación.

En este caso específico, el tiempo de vuelo de nuestro Valicopter se ajusta de 15 min a 10 min, lo que activa automáticamente un recálculo de la capacidad total de batería necesaria. Dado que la masa total del subsistema de potencia se calcula en función de la capacidad de batería necesaria (cuántas baterías necesitamos), con menos tiempo de vuelo y, por lo tanto, menor capacidad de batería requerida, la masa del subsistema de potencia también se recalcula y se reduce.

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.

Contenido